Ubuntu 路由器設定指南 iptables 規則

Ubuntu 路由器設定指南 iptables 規則

我試圖弄清楚iptables規則中的含義設定 Ubuntu 路由器的官方指南。例如,*nat。我在網路上找不到任何有*natfor 的地方iptables

*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT

答案1

我相信它是表名稱的選擇器。用於*代替-t命令的命令列變體的選項,並選擇表格。例如,通常會透過指定 來選擇表-t <tablename>,因此在本例中-t nat,選擇納特桌子:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

您提供的範例是使用來自的輸入重定向這裡的文檔iptables-restore-請注意<<EOF ... EOF,因此不是使用命令列選項 ( -t),而是使用單獨的行,如下所示:

iptables-restore <<-EOF
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
EOF

有人可能會說,-A這裡的文檔仍然如此,為什麼-t不呢?我不知道這個問題的答案,希望其他人也能知道。

同樣,在*nat編輯表格後COMMIT*filter選擇表格,進行處理,然後COMMIT編輯。

iptables-restore <<-EOF
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT
EOF

如果您正在尋找教程,您可能會找到這個NAT - 網路位址轉換教程很有用。

相關內容