當前位置:首頁 » 操作系統 » linux配置iptables

linux配置iptables

發布時間: 2024-07-15 09:11:15

linux閰嶇疆闃茬伀澧檌ptables瀹炰緥鍒嗕韓

iptables涓涓璇︾粏瀹炰緥
澶嶅埗浠g爜
  
浠g爜濡備笅:
/etc/init.d/iptables start 鍚鍔╥ptables
鍒濆嬪寲iptables錛屽垹闄や箣鍓嶇殑瑙勫垯錛
澶嶅埗浠g爜
  
浠g爜濡備笅:
iptables -F
  iptables-X
  iptables-Z
  iptables-F-tnat
  iptables-X-tnat
  iptables-Z-tnat
鍏佽窼SH榪涘叆錛岃佷笉鐒剁瓑涓嬪氨榪炰笉涓婂幓浜
澶嶅埗浠g爜
  
浠g爜濡備笅:
iptables-AINPUT-pTCP--dport22-jACCEPT
璁劇疆榛樿ゅ嚭鍏ョ珯鐨勮勫垯
澶嶅埗浠g爜
  
浠g爜濡備笅:
iptables-PINPUTDROP
  iptables-POUTPUTACCEPT
  iptables-PFORWARDACCEPT
  iptables-AINPUT-ilo-jACCEPT
  iptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
杞藉叆鐩稿簲鐨勬ā鍧
澶嶅埗浠g爜
  
浠g爜濡備笅:
modprobeip_tables
  modprobeiptable_nat
  modprobeip_nat_ftp
  modprobeip_conntrack
  modprobeip_conntrack_ftp
閰嶇疆榛樿ょ殑杞鍙戣勫垯
澶嶅埗浠g爜
  
浠g爜濡備笅:
iptables-tnat-PPREROUTINGACCEPT
  iptables-tnat-PPOSTROUTINGACCEPT
  iptables-tnat-POUTPUTACCEPT
鍏佽稿唴緗戣繛鎺
澶嶅埗浠g爜
  
浠g爜濡備笅:
iptables-AINPUT-i鍐呯綉緗戝崱鍚嶏紙姣斿俥th1錛-jACCEPT
鍚鐢ㄨ漿鍙戝姛鑳
澶嶅埗浠g爜
  
浠g爜濡備笅:
echo"1"/proc/sys/net/ipv4/ip_forward
閰嶇疆婧怤AT錛屽厑璁稿唴緗戦氳繃涓繪満nat涓婄綉錛屽嵆鎵璋撶殑緗戠粶鍏變韓
澶嶅埗浠g爜
  
浠g爜濡備笅:
iptables-tnat-APOSTROUTING-s鍐呯綉緗戝崱鍚-o澶栫綉緗戝崱鍚-jMASQUERADE
鎶奆TP鏈嶅姟鍣ㄦ槧灝勫埌澶栫綉
澶嶅埗浠g爜
  
浠g爜濡備笅:
iptables-tnat-APREROUTING-ptcp-d58.222.1.3--dport21-jDNAT--to192.168.0.211:21
緇撴潫錛屽埆蹇樹簡淇濆瓨
澶嶅埗浠g爜
  
浠g爜濡備笅:
serviceiptablessave
192.168.0.211鐨勭綉鍏沖簲璇ヨ炬垚榪欐垚涓繪満192.168.0.1銆傝繖鏍峰氨琛屼簡銆

② linux中iptables防火牆怎麼設置

Linux系統內核內建了netfilter防火牆機制。Netfilter(數據包過濾機制),所謂的數據包過濾,就是分析進入主機的網路數據包,將數據包的頭部數據提取出來進行分析,以決該連接為放行或阻擋的機制。Netfilter提供了iptables這個程序來作為防火牆數據包過濾的命令。Netfilter是內建的,效率非常高。
我們可以通過iptables命令來設置netfilter的過濾機制。
iptables里有3張表:
> Filter(過濾器),進入Linux本機的數據包有關,是默認的表。
> NAT(地址轉換),與Linux本機無關,主要與Linux主機後的區域網內計算機相關。
> Mangle(破壞者),這個表格主要是與特殊的數據包的路由標志有關(通常不用涉及到這個表的修改,對這個表的修改破壞性很大,慎改之)。
每張表裡都還有多條鏈:

Filter:INPUT, OUTPUT, FORWARD
NAT:PREROUTING, POSTROUTING, OUTPUT
Mangle:PREROUTING, OUTPUT, INPUT, FORWARD
iptables命令的使用
基本格式:iptables [-t table] -CMD chain CRETIRIA -j ACTION
-t table:3張表中的其中一種filter, nat, mangle,如果沒有指定,默認是filter。
CMD:操作命令。查看、添加、替換、刪除等。
chain:鏈。指定是對表中的哪條鏈進行操作,如filter表中的INPUT鏈。
CRETIRIA:匹配模式。對要過濾的數據包進行描述
ACTION:操作。接受、拒絕、丟棄等。
查看

格式:iptables [-t table] -L [-nv]
修改

添加
格式:iptables [-t table] -A chain CRETIRIA -j ACTION
將新規則加入到表table(默認filter)的chain鏈的最後位置

插入

格式:iptables [-t table] -I chain pos CRETIRIA -j ACTION
將新規則插入到table表(默認filter)chain鏈的pos位置。原來之後的規則都往後推一位。pos的有效范圍為:1 ~ num+1
替換

格式:iptables [-t table] -R chain pos CRETIRIA -j ACTION
用新規則替換table表(默認filter)chain鏈的pos位置的規則。pos的有效范圍為:1 ~ num
刪除

格式:iptables [-t table] -D chain pos
刪除table表(默認filter)chain鏈的pos位置的規則。pos的有效范圍為:1 ~ num
包匹配(CRETIRIA)

上面沒有介紹CRETIRIA的規則,在這小節里詳細介紹。包匹配就是用於描述需要過濾的數據包包頭特殊的欄位。
指定網口:

-i :數據包所進入的那個網路介面,例如 eth0、lo等,需與INPUT鏈配合
-o: 數據包所傳出的那麼網路介面,需與OUTPUT鏈配合
指定協議:

-p:tcp, udp, icmp或all
指定IP網路:
-s:來源網路。可以是IP或網路
IP: 192.168.0.100
網路: 192.168.0.0/24 或 192.168.0.0/255.255.255.0 均可
可以在前加 ! 表示取反
-d:目標網格。同 -s
指定埠:
--sport:指定來源埠。可以是單個埠,還可以是連續的埠,例如:1024:65535。
--dport:指定目標埠。同--sport
注意:要指定了tcp或udp協議才會有效。
指定MAC地址:
-m mac --mac-source aa:bb:cc:dd:ee:ff
指定狀態:
-m state --state STATUS
STATUS可以是:
> INVALID,無效包
> ESTABLISHED,已經連接成功的連接狀態
> NEW,想要新立連接的數據包
> RELATED,這個數據包與主機發送出去的數據包有關,(最常用)
例如:只要已建立連接或與已發出請求相關的數據包就予以通過,不合法數據包就丟棄
-m state --state RELATED,ESTABLISHED
ICMP數據比對

ping操作發送的是ICMP包,如果不想被ping到,就可以拒絕。
--icmp-type TYPE
TYPE如下:
8 echo-request(請求)
0 echo-reply(響應)

注意:需要與 -p icmp 配合使用。

操作(ACTION)

DROP,丟棄
ACCEPT,接受
REJECT,拒絕
LOG,跟蹤記錄,將訪問記錄寫入 /var/log/messages

保存配置

將新設置的規則保存到文件
格式:iptables-save [-t table]
將當前的配置保存到 /etc/sysconfig/iptables

其它

格式:iptables [-t table] [-FXZ]
-F :請除所有的已制訂的規則
-X :除掉所有用戶「自定義」的chain
-Z :將所有的統計值清0

③ 如何配置linux下的防火牆

准備裝有Linux系統的電腦。

1.在linux系統裡面找到並打開編輯配置防火牆的文件,執行命令:
vi /etc/sysconfig/iptables。

(3)linux配置iptables擴展閱讀:

查看防火牆狀態:

[root@cluster1 ~]# service iptables status

iptables:未運行防火牆。

開啟防火牆:

[root@cluster1 ~]# service iptables start

關閉防火牆:

[root@cluster1 ~]# service iptables stop

④ linux中iptables防火牆怎麼設置

一,安裝並啟動防火牆
[root@linux ~]# /etc/init.d/iptables start
當我們用iptables添加規則,保存後,這些規則以文件的形勢存在磁碟上的,以CentOS為例,文件地址是/etc/sysconfig/iptables,我們可以通過命令的方式去添加,修改,刪除規則,也可以直接修改/etc/sysconfig/iptables這個文件就行了。
1.載入模塊
/sbin/modprobe ip_tables
2.查看規則
iptables -L -n -v
3.設置規則
#清除已經存在的規則
iptables -F
iptables -X
iptables -Z
#默認拒絕策略(盡量不要這樣設置,雖然這樣配置安全性高,但同時會拒絕包括lo環路在內的所#有網路介面,導致出現其他問題。建議只在外網介面上做相應的配置)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#ssh 規則
iptables -t filter -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp –sport 22 -j ACCEPT
#本地還回及tcp握手處理
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
#www-dns 規則
iptables -I INPUT -p tcp –sport 53 -j ACCEPT
iptables -I INPUT -p udp –sport 53 -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp –sport 80 -j ACCEPT
#ICMP 規則
iptables -A INPUT -p icmp –icmp-type echo-request-j ACCEPT
iptables -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type echo-reply -j ACCEPT
二,添加防火牆規則
1,添加filter表
1.[root@linux ~]# iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT //開放21埠
出口我都是開放的iptables -P OUTPUT ACCEPT,所以出口就沒必要在去開放埠了。
2,添加nat表
1.[root@linux ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
將源地址是 192.168.10.0/24 的數據包進行地址偽裝
3,-A默認是插入到尾部的,可以-I來插入到指定位置
1.[root@linux ~]# iptables -I INPUT 3 -p tcp -m tcp --dport 20 -j ACCEPT
2.[root@linux ~]# iptables -L -n --line-number
3.Chain INPUT (policy DROP)
4.num target prot opt source destination
5.1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
6.2 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
7.3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 //-I指定位置插的
8.4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
9.5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
10.6 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
11.7 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID,NEW
12.8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 //-A默認插到最後
13.Chain FORWARD (policy ACCEPT)
14.num target prot opt source destination
15.Chain OUTPUT (policy ACCEPT)
16.num target prot opt source destination
三,查下iptable規則
1,查看filter表
1.[root@linux ~]# iptables -L -n --line-number |grep 21 //--line-number可以顯示規則序號,在刪除的時候比較方便
2.5 ACCEPT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp dpt:21
如果不加-t的話,默認就是filter表,查看,添加,刪除都是的
2,查看nat表
1.[root@linux ~]# iptables -t nat -vnL POSTROUTING --line-number
2.Chain POSTROUTING (policy ACCEPT 38 packets, 2297 bytes)
3.num pkts bytes target prot opt in out source destination
4.1 0 0 MASQUERADE all -- * * 192.168.10.0/24 0.0.0.0/0
四,修改規則
1.[root@linux ~]# iptables -R INPUT 3 -j DROP //將規則3改成DROP
五,刪除iptables規則
1.[root@linux ~]# iptables -D INPUT 3 //刪除input的第3條規則
2.[root@linux ~]# iptables -t nat -D POSTROUTING 1 //刪除nat表中postrouting的第一條規則
3.[root@linux ~]# iptables -F INPUT //清空 filter表INPUT所有規則
4.[root@linux ~]# iptables -F //清空所有規則
5.[root@linux ~]# iptables -t nat -F POSTROUTING //清空nat表POSTROUTING所有規則
六,設置默認規則
1.[root@linux ~]# iptables -P INPUT DROP //設置filter表INPUT默認規則是 DROP
所有添加,刪除,修改後都要保存起來,/etc/init.d/iptables save.上面只是一些最基本的操作,要想靈活運用,還要一定時間的實際操作。
iptables配置常規映射及軟路由
作用:虛擬化雲平台伺服器網段192.168.1.0/24 通過一台linux伺服器(eth0:192.168.1.1、eth1:10.0.0.5)做軟路由達到訪問10.0.0.5能訪問的網路范圍,並且通過iptables的NAT映射提供服務。
NAT 映射網路埠:
效果: 10.0.0.5:2222 —-》 192.168.1.2:22
命令:iptable -t nat -A PREROUTING -D 10.0.0.5 -p tcp –dport 2222 -j DNAT –to-destination 192.168.1.2:22
service iptables save
service iptables restart
注意:1.在192.168.1.2的網路配置上需要將NAT主機的內網ip即192.168.1.1作為默認網關,如果10.0.0.5具有公網訪問許可權,dns則設置成公網對應dns
2. echo 1 》 /proc/sys/net/ip_forward 在NAT 主機上需要開啟轉發才能生效
軟路由192.168.1.0/24通過10.0.0.5訪問外網:
命令:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT –to-source 10.0.0.5
service iptables save
service iptables restart

熱點內容
網易資料庫 發布:2024-11-26 00:39:49 瀏覽:810
舊電腦用什麼安卓模擬器 發布:2024-11-26 00:34:41 瀏覽:533
印度編程員 發布:2024-11-26 00:34:29 瀏覽:486
mac下php編譯器 發布:2024-11-26 00:25:18 瀏覽:863
cmcc怎麼改密碼 發布:2024-11-26 00:21:52 瀏覽:958
初學python的書籍 發布:2024-11-26 00:03:56 瀏覽:52
php大寫轉小寫 發布:2024-11-25 23:52:55 瀏覽:46
安卓哪裡下載游戲安全 發布:2024-11-25 23:51:08 瀏覽:284
白加黑源碼 發布:2024-11-25 23:48:25 瀏覽:388
上傳的壁紙 發布:2024-11-25 23:47:47 瀏覽:569