私のLinuxルーターの設定に関するあなたのコメントを聞きたいです。デフォルトのISP(基本パステーブル)と特定のISP(パステーブル)があるとしますcustom
。デフォルトISPが有効にeth0
なり、カスタムISPが有効になりますeth2
。デフォルトパスの場合は、DHCPと光る自動パスで、カスタムパスは次のとおりです。
# echo "4999 custom" >> /etc/iproute2/rt_tables
# ip addr eth2 10.x.y.z netmask 255.255.255.0
# ip -4 route add 0.0.0.0/0 via 10.20.30.40 table custom
# iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
これで、ルーティングされるすべてのエントリはeth2
カスタムISPを通過します。良い結果。私が望むのは、特定のIPを使用して仮想インターフェイス(VETH?TAP?知りません)を作成し、それをLANクライアントに提供し、このカスタムISPを介してルーティングすることです。また、トレースパス中にも表示したいと思います。
172.16.1.0/24
LANにネットワークがあります。私が試したこと:
# ip tuntap add name tap0 mode tap
# ip addr add 172.16.1.128 dev tap0
# ip rule add iif tap0 lookup custom
しかし、これはうまくいきません。クライアントのデフォルトゲートウェイとして指定すると、172.16.1.128
pingは通過しません。私は何が間違っていましたか?
修正する:
初期ルーティングルールはLANがeth1にあり、それをカスタムISP接続をテストするために使用します。
ip rule add iif eth1 lookup custom
fwmarkベースのルールのようなものを追加できることを知っていますが、すべての難しい作業(src nat)を実行するにはiptblesに戻る必要があります。これは遅く非効率的です。