iptables 裡的 table , 例如 filter , nat

filter 裡的 chain , 例如 INPUT , OUTPUT , FORWARD

nat 裡的 chain , 例如 PREROUTING , POSTROUTING , OUTPUT

 

指令說明

1. iptables -t nat -S   // -t nat : 查看 nat 這個 table , -S 顯示 ( nat table 裡的 ) 所有 chain 的 rule

2. iptables -t nat -S PREROUTING   // 查看 nat table 裡 PREROUTING 這個 chain 的 rule

ip6tables -S FORWARD   // 查看 IPv6 FORWARD 的 rule

3. iptables -S   // 沒加 -t nat , 預設是 filter 這個 table

4. iptables -t nat -D  PREROUTING ! -d 192.168.0.0/24 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1:80

// -D : 從 PREROUTING 這個 chain 刪除 rule

5. iptables -t nat -A POSTROUTING -o nas0 -j MASQUERADE

// 加 rule 到 POSTROUTING 這個 chain

6. ip6tables -I FORWARD -j ACCEPT   // 加入 ACCEPT rule 在 FORWARD 這個 chain 的第一筆

ip6tables -I FORWARD -d 2001:b021:34:301::/56 -i br0 -o eth0 -j REJECT --reject-with icmp6-adm-prohibited

// 加入 FORWARD 這個 chain 的第一筆

// 目的地是 2001:b021:34:301::/56 , input interface 是 br0 , output interface 是 eth0

// 符合以上條件 , REJECT 此封包 , 並且回覆 ICMPv6 destination unreachable ( code = 1 ) 封包

7. iptables -P INPUT ACCEPT   // 將 INPUT 的 policy 設成 ACCEPT

8. ip6tables -n -v --line-numbers -L FORWARD

// -n : 顯示數值 , 不做轉換 , -v : 顯示更多訊息 , --line-numbers : 印出行數

// -L FORWARD : 顯示 FORWARD 這個 chain 裡的 rule

ip6tables -L FORWARD -nv   // 這是個人常用的指令

9. ip6tables -F FORWARD   // 將 FORWARD 裡的 rule 全部清除

 

iptables -h   // 查看更多使用方式

 

待續

看完文章請按 讚 or 推 , 感謝啦 ~ 

相關文章