Iptables配置
iptables –t [filter | nat] –L –nv
-t 後面接表格 默認爲filter -L 列出目前table的項目
-n 不進行IP與HOSTNAME的反查 –v 顯示更詳細的信息
iptables –F –X –Z
-F 清除本table中所有定義的規則
-X 清除所有用戶自定義的table
-Z 將所有chain的計數清零 以上操作不會改變table的默認規則
iptables [-t nat] –P [INPUT, OUTPUT, FORWARD] [ACCEPT, DROP]
-P 定義策略 默認情況不加-t爲filter定義默認策略
iptables [- A I 鏈] [-i o 網絡接口] [ -p 協議] [-s 來源IP/網段] [-d 目標IP/網段] –j [ACCEPT | DROP | LOG]
-A 在原規則的後面增加一條規則 –I 在原規則的最前面插入一條規則 鏈是指INPUT等
-i 數據包進入的那個接口,與INPUT鏈配合使用 -o 傳出的接口與OUTPUT鏈
-p 協議 主要的數據包格式有tcp udp icmp all 未設置的規定表示完全接受
iptables [-AI 鏈] [-io 網絡接口] [-p tcp, udp] [-s 來源IP/網段] [--sport 端口範圍]
[-d 目標IP/網段] [--dport 端口範圍] –j [ACCEPT | DROP]
--sport 端口範圍:限制來源的端口號碼,可以是連續的1024:65535
iptables –A INPUT -m state --state 狀態[ -m mac --mac-source 硬件地址]
-m state 狀態模塊 mac 網卡硬件地址
--state INVALID 無效的數據包 ESTABLISHED 已經聯機成功的聯機狀態
NEW 想要建立聯機的數據包狀態 RELATED 表示與我們發出的數據包有關
iptables-save > filename iptables-restore < filename 存儲和恢復防火牆規則
iptables –A INPUT –i $INIF –j ACCEPT 讓NAT主機可以接受來自內部LAN數據包
echo “1” > /proc/sys/net/ipv4/ip_forward 開啓Linux主機的轉發功能
iptables –t nat –A POSTROUTING –s $innet –o $EXTIF –j MASQUERADE
MASQUERADE可以讓數據包僞裝成 $EXTIF這塊網卡上的IP地址
iptables –t nat –A POSTROUTING –o eth1 –j SNAT –to 192.168.200.250
將內網的地址之際修改爲192.168.200.250這個IP地址
iptables –t nat –A PREROUTING –p tcp –i eth1 - -dport 80 –j DNAT --to 192.168.1.101:80
將連接到eth1接口的端口爲89的傳送到內部的192.168.1.210主機
iptables –t nat –A PREROUTING –p tcp –i eth1 - -dport 80 –j REDIRECT --to-port 111
定向到本機的其他端口、
iptables –A INPUT –p icmp –icmp-type 類型 –j ACCEPT
--icmp-type 後面接類型可以用代號 如8代表echo request
/proc/sys/net/ipv4/tcp_syncookies
/proc/sys/net/ipv4/icmp_echo_ignore_boradcasts