web-dev-qa-db-ja.com

ルーティングのためのiptablesセットアップ

パケットをルーティングするようにUbuntuコンピューターをセットアップしたい。したがって、私は常にiptablesに追加する多くのルールを持ついくつかのチュートリアルを読みました。

パケットをルーティングするために必要な唯一のルール(iptablesが完全に空であることを前提とする)は、次のことだけであることがわかりました。

iptables -t nat -A POSTROUTING -o <ext> -j MASQUERADE

ここで、extは、パケットが外部に送信されるネットワークインターフェイスです。

このルールが実際に何を行うのか、なぜこの単一のルールだけでIP転送を機能させるのか理解できません。

1
Codey

コマンド:

iptables -t nat -A POSTROUTING -o <ext> -j MASQUERADE

情報:

  • -t nat

    -t:テーブル用

    NAT(ネットワークアドレス変換)は、パケットを代替アドレスにリダイレクトするためにパケットをマングリングするための一般的な用語です。通常、これは、トラフィックがネットワーク境界を超えることを許可するために使用されます。 NAT=を実装するホストは通常​​、2つ以上のネットワークにアクセスでき、それらの間のトラフィックをルーティングするように設定されています。パケットの送信元フィールドまたは宛先フィールドを変換するために使用されます

  • -A POSTROUTING

    ルールを「追加」する組み込みのPOSTROUTINGチェーンを指定します

    チェーン:NATテーブルにあるルールセット

  • -j MASQUERADE

    -j MASQUERADEターゲットは、ノードのプライベートIPアドレスをファイアウォール/ゲートウェイの外部IPアドレスでマスクするために指定されます。

  • -o <interface>

    ファイアウォールの外部ネットワークデバイス

概要:

  • -t nat NATルールの構成用にテーブル "nat"を選択します。
  • -A POSTROUTING POSTROUTINGチェーンにルールを追加します(-Aは「追加」を表します)。
  • -o eth1このルールは、このネットワークインターフェースを通過するパケットに有効です(-oは「出力」を表します)
  • -j MASQUERADE行われるべきアクションは、パケットを「マスカレード」することです。つまり、送信者のアドレスをルーターのアドレスに置き換えます。

出典:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/Security_Guide/s1-firewall-ipt-fwd.html

https://www.karlrupp.net/en/computer/nat_tutorial

https://www.thegeekstuff.com/2011/01/iptables-fundamentals/

4
George Udosen