![Ubuntu ルーター設定ガイド iptables ルール](https://rvso.com/image/1452271/Ubuntu%20%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC%E8%A8%AD%E5%AE%9A%E3%82%AC%E3%82%A4%E3%83%89%20iptables%20%E3%83%AB%E3%83%BC%E3%83%AB.png)
iptables
私はルールの意味を理解しようとしていますUbuntu ルーターの設定に関する公式ガイドたとえば、について*nat
はインターネット上のどこにも見つかりません。*nat
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
今でも here ドキュメントにあるのに、なぜそうではないのかと主張する人もいるかもしれません-t
。その答えは私にはわかりませんが、他の誰かが知っているといいのですが。
*nat
同様に、テーブルが ed された後COMMIT
、*filter
テーブルが選択され、処理されてからCOMMIT
ed されます。
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 - ネットワーク アドレス変換チュートリアルは役に立ちました。