
表 6-2.ソースlocalhost(自機)
[...]
- ルーティング決定。これは、以前の mangle と nat の変更によってパケットのルーティング方式が変更された可能性があるためです。
[...]
NAT などは実際の出力インターフェイスが変更された可能性があるため、OUTPUT チェーンの後に 2 番目のパスルックアップがあります。しかしテストで私は見つけました。出力インタフェースを選択した場合は変更できません。。
たとえば、バインドされていないソケットから宛先にUDPパケットを送信するアプリケーションがあります。基本表を照会し、基本ソース、インターフェース、ゲートウェイを選択します。次に、fwmarkを設定し、ポリシーベースのルーティングでそれを使用してパケットを別のインターフェイスに配置します。
[root@localhost ~]# ip rule add fwmark 1 lookup 1
[root@localhost ~]# ip route add default dev lo table 1
パケットはこれらのルックアップを実行します。
#first lookup, assuming main NIC is in LAN with address 192.168.1.2/24, gateway 192.168.1.1
[root@localhost ~]# ip route get 8.8.8.8
8.8.8.8 from 192.168.1.2 via 192.168.1.1 dev eth0
cache
#second lookup, source address and oif chosen
[root@localhost ~]# ip route get 8.8.8.8 oif eth0 from 192.168.1.2 mark 1
8.8.8.8 from 192.168.1.2 via 192.168.1.1 dev wlp3s0 mark 1
cache
パケットにはまだ選択された出力インターフェイスがあります。パラメータを設定しないと、oif
正しいインターフェイスが得られます。
[root@localhost ~]# ip route get 8.8.8.8 from 192.168.1.2 mark 1
8.8.8.8 from 192.168.1.2 dev lo mark 1
cache
それで、ポイントは何ですか? (テストした結果)ゲートウェイだけが効果的に変更できるようですが、blackhole
またはunreachable
。