iptables 學習筆記

一 三個表

1 filter
1) INPUT
2) OUTPUT
3) FORWARD
2 nat
1) PREROUTING
2) POSTROUTING
3) OUTPUT
3 mangle
二 iptables 語法
iptables -AI 鏈 INPUT|OUTPUT|FORWARD|LOG -io 網絡接口 -p 協議 -s 來源ip/網段 --sport 端口範圍 \
-d 目標ip/網段 --dport 端口範圍-j ACCEPT|DROP
-AI A 新增 I 插入
-io 網絡接口 i 進入的接口 需要和INPUT鏈配合 o 傳出的接口 需要和OUTPUT鏈配合
-p 協議 tcp udp icmp all
-s -d 主機 192.168.0.100 網段192.168.0.0/24,192.168.0.0/255.255.255.0 加上!表示不包含
--dport --sport 連續端口1024:2048 不連續端口 024,1026
iptables 狀態
iptables -A INPUT -m state --state 狀態
-m iptables模塊 state: 狀態模塊 mac:
--state: 數據包的狀態 INVALID: 無效 ESTABLISHED: 已經成功連接 NEW: 想要新建立連接 RELATED: 表示數據包與發出去的數據包有關
三 常見配置
1)允許所有的本機發出去的相關請求的相關數據包可以進入
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
針對mac開放
iptables -A INPUT -m mac --mac--source aa:bb:cc:dd:ee:ff -j ACCEPT
2)nat 設置
echo 1 > /proc/sys/net/ipv4/ip_forward
snat
如果有多個ip段,可以如下設置
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 61.61.61.61
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 61.61.61.62
如果只是簡單的內網外網,可以如下設置
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
dnat
外部80端口到內部192.168.1.100的端口轉換
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 192.168.1.100:80
將本機的80端口重定向到8080端口
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
ip對ip的轉換
iptables -A FORWARD -s 192.168.1.1 -j ACCEPT
iptables -A FORWARD -d 192.168.1.1 -j ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -A PREROUTING -d 1.1.1.2 -j DNAT --to-destination 192.168.1.1
iptables -t nat -A POSTROUTING -s 192.168.1.1 -j SNAT --to-source 61.61.61.63


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章