[linux] iptables ip6tables 防火牆軟體
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 推 , 感謝啦 ~