私は今日iptablesを設定しましたが、まだ解決していないいくつかの問題に直面しました。したがって、誰かが次の質問を確認または回答して明確にすることができれば良いでしょう。
- 各インターフェイスは、ipv4または/およびipv6用に個別に設定できます。 iptablesのルールは次のとおりです。
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
すべてのインターフェイスに適用(ipv4のみ)? - ㅏ単一接続(図のように
netstat -na
)常に1つのインターフェースのみを使用? - これIPアドレスで自動的に選択されるインターフェイス。たとえば、次のようなものがある場合
*:~$ IP アドレス 1: lo: mtu 65536 qdisc noqueue status UNKNOWN グループのデフォルト リンク/ループバック 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 スコープホスト lo 常に valid_lft 常に優先_lft 2: eth0: mtu 1500 qdisc pfifo_fast 状態 UP グループ デフォルト qlen 1000 リンク/イーサ* brd ff:ff:ff:ff:ff:ff inet 128.176.123.45 brd * 範囲グローバル eth0 常に valid_lft 常に優先_lft
127.0.0.1
からのすべてのIPが127.255.255.255
インターフェイスを通過します。ルオ、**残りは次のように構成されています。イーサネット0(可能なルートがある場合は見ることができますnetstat -r
)? 状況:サーバーとクライアント(一部のソフトウェアの場合)は同じコンピューターで実行されており、互いに通信します。だから機械は自らと通信する。サーバーは特定のポートでリッスンします。以下を使用して接続を表示できます
netstat -na
。Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 128.176.123.45:60471 128.176.123.45:50010 ESTABLISHED
何ですか間の違い住所は次のとおりです。外部IP(今のように)、ローカルネットワークIP(例:192.168.1.4)、127.0.0.1?はいイーサネット0最初の2つルオ最後の1つだけのために?
- はい127.0.0.1との通信そこからしか行けません。マシン自体?
- はい192.168.1.4との通信でのみ開始できますマシン自体とLAN?
- はい128.176.123.45と通信でのみ開始できます機械自体、LANおよびインターネット/GAN?
- ~であるイーサネット0インターフェイスは127.0.0.1の場合を除いて常に使用されます(したがって、システム自体と通信するために128.176.123.45と通信します)。イーサネット0しかも)?
- 0.0.0.0はワイルドカードです。ポートをバインドすると、名前付きのすべてのオプションがポートに接続できますか?すべてのインターフェイスの接続を許可し、各接続の特定のローカルアドレスを取得しますか?
- 私は除くすべてのポートをブロックルオ相互作用(他のルールはありません)
iptables -P 入力の削除 iptables -P 出力が低下します。 iptables -Pデリバリー廃棄 iptables -A 入力 -i lo -j を受け入れる iptables -A 出力 -o lo -j を受け入れる
私できるマシン自体に192.168.1.4でpingを送信しましたが、明示的に次のように設定します。イーサネット0相互作用?
答え1
はい、このルールにはインターフェイス指定子がないため、すべてのインターフェイスに適用されます(
-i lo -j RETURN
上記のような他のルールがない限り)。いいえ、トラフィックルーティングを実行すると、接続に使用されるインターフェイスが動的に変更される可能性があります。 (厳密には、特定のインターフェイスにアドレスがあるため、まだ特定のインターフェイスにバインドされている可能性がありますが、カーネルはルーティングテーブルに基づいて他のインターフェイスにトラフィックを送信できます。)
ソースアドレスは最も一般的なセレクタですが、唯一のセレクタではありません。
ip rule
複数のルーティングテーブルを含む単純なソースアドレスよりもはるかに複雑なルールを含めることができるルーティングポリシーデータベース(RPDB)を検討する必要があります。ip rule
3.a.すべての最新のLinuxシステムには、実際には;で始まる3つ以上のルーティングテーブルがあります。通常from all lookup $X
、$X
その中にlocal
、が含まれますmain
。default
3.b.
ip route show table local
リンクまたはホストの範囲を持つすべてのパスを表示する必要があります。これにはすべてのローカルIPが表示されます。3.c.
ip route show table main
これは一般的なルーティングテーブルです。ターゲットアドレスがマシンにローカルである場合(ローカルルーティングテーブルを参照)、カーネルは実際にそのテーブルを介してそれを実装し、代わりにループバックインターフェイスを介して送信します
eth0
。4.1。はい
4.2.ネットワークのルーティングに応じて、DNATや他のルーティングがある場合は、LANよりも遠くに接続できます。
4.3.ローカル+LAN+WANと言われましたが、これ以外に何がありますか?
0.0.0.0が呼び出されます。INADDR_ANY、ワイルドカードはホストのすべてのIPをそのアドレスにバインドします。
上記の内容を見ると、アドレスがローカルの場合、eth0ではなくルーティングテーブルを介してループバックされます。