ポリシールーティング
宛先だけでなく、送信元アドレスやマーク、受信インターフェースでも経路を選ぶこと。複数のルーティングテーブルと、それを選ぶルールで実現する。
通常のルーティングは、宛先を1つのテーブルで引くだけだ。Linux は代わりにルールデータベースを持つ。ip rule が条件を優先度順に並べ、最初に合致したルールがどのテーブルを引くかを決める。これにより、あるサブネットの通信は一方のISPから出し、残りはもう一方から出す、といった設計ができる。iptables が fwmark を付けたパケットだけをVPNトンネルへ送ることも可能だ。典型例は上りが2本あるサーバーで、リクエストが来たインターフェースから返さないと、相手のファイアウォールが応答を想定外の通信として捨ててしまう。デバッグはいつも ip route get から始まる。