raw: 優先級最高, 設置raw通常是爲了避免再讓iptables作數據包的跟蹤連接處理, 提升性能.vim
mangle: 用於對特定數據包的修改.ssh
nat: 用於nat功能端口或者地址映射.tcp
filter: 通常的過濾功能.ide
raw表中的鏈有: PREROUTING, OUTPUToop
mangle表中的鏈有: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING性能
nat表中的鏈有: PREROUTING, POSTROUTING, OUTPUT優化
filter表中的鏈有: INPUT, FORWARD, OUTPUTspa
tip: iptable -h都能看到對應的解釋rest
規則增刪改查:code
參數 | 做用 |
---|---|
-A | 在規則鏈的末尾加入新規則 |
-I | 在規則鏈的頭部加入新規則 |
-D | 刪除 |
-R | 修改 |
-L | 查看 |
-P | 設置默認策略 , iptables -P INPUT DROP |
-F | 清空默認規則鏈 |
-X | 刪除自定義空鏈 |
經常使用參數:
參數 | 做用 |
---|---|
-p | 指定協議 tcp/udp/icmp |
-s | 指定源地址 ip/mask , 加歎號 「!」 表示相反的意思 |
-d | 匹配目標地址 |
–sport | 匹配來源端口號 |
–dport | 匹配目端口號 |
-i | 匹配從這塊網卡流入的數據 |
-o | 匹配從這塊網卡流出的數據 |
-m | 加載模塊 |
-t | 指定表, 默認filter表. iptables -L - nat/mangle/raw |
-j | 指定處理的動做 , ACCEPT/DROP |
經常使用處理動做:
動做 | 做用 |
---|---|
ACCEPT | 容許封包經過,:將數據包放行,進行完此動做後,再也不對比其餘規則,直接跳往下一個規則鏈. |
DROP | 丟棄封包,響應超時,對方沒法判斷主機是否在線或者流量被拒絕,再也不對比其餘規則,中斷過濾. |
REJECT | 拒絕封包經過,並將數據包封裝,返回消息,對方看到主機口不可達. |
REDIRECT | 將包重定向到另外一個端口,以後繼續對比其餘規則. |
MASQUERADE | 改寫封包來源ip爲防火牆NIC ip , 可指定port範圍 , 以後跳往下一規則. |
SNAT | 改寫封包來源ip爲某特定ip或ip範圍 , 可指定 port 範圍 , 以後跳往下一規則. |
DNAT | 改寫封包目的ip爲某特定ip或ip範圍, 可指定port範圍 , 以後跳往下一規則. |
iptables -F
|
l iptables -P INPUT DROP
l iptables -P OUTPUT ACCEPT
l iptables -P FORWARD DROP
4.根據本身機器的實際狀況開啓相應端口
l # 容許迴環loopback訪問
l $ iptables -A INPUT -i lo -j ACCEPT
l $ iptables -A OUTPUT -o lo -j ACCEPT (output鏈的默認策略設置爲DROP時,須要添加這條,如下針對的每一個端口同此同樣.)
l #開啓22端口,ssh才能登陸.
l $ iptables -A INPUT -p tcp --dport 22 -j ACCEPT
l $ iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
l 或者
l $ iptables -A INPUT -i eth0 -s 192.168.2.100 -p tcp --dport 22 -j ACCEPT #指定eth1網卡和192.168.2.100容許ssh登陸
l $ iptables -A OUTPUT -o eth0 -s 192.168.2.100 -p tcp --dport 22 -j ACCEPT
l #容許ping(即icmp包經過)
l $ iptables -A INPUT -p icmp -j ACCEPT
l $ iptables -A OUTPUT -p icmp -j ACCEPT
l #使ping域名能夠獲得響應
l $ iptables -A INPUT -p udp --sport 53 -j ACCEPT
l $ iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
l $ iptables -A INPUT -p udp --dport 53 -j ACCEPT
l $ iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
tip: 除了以上用命令去添加規則,還能夠用編輯文件的方式 vim /etc/sysconfig/iptables
1 |
service iptables save |
1 |
service iptables restart |
1 |
iptables -L -n |
請求比較頻繁的放在最上面,請求頻率較小的放在最後面.這裏整理關於防火牆的東西,不是具體的知識,更多工操做使用,具體的防火牆知識,還須要去閱讀參考網上寫的各類文章,須要多讀多看多試,才能理解深刻.