Ubuntu 12.04 を使用しています。/etc/network/interfaces を編集して、イーサネット カードに 2 つの IP アドレスを割り当てました。そのようになりました(質問に関係のない行をスキップします)。
auto eth0
iface eth0 inet static
address 192.168.60.23
netmask 255.255.255.0
gateway 192.168.60.1
up route add 192.168.60.1 dev eth0
up route add 10.0.1.1 dev eth0
up route add 192.168.60.151 gw 10.0.1.1
auto eth0:1
iface eth0:1 inet static
address 192.168.60.101
netmask 255.255.255.0
ただし、192.168.60.151 に送信されるパケットが、2 番目の IP アドレス (192.168.60.101) を送信元アドレスとしてマシンから送信されるようにしたいと考えています。
対応する行に src 192.168.60.101 を追加しようとしましたup route
が、うまくいきませんでした。また、この行を eth0:1 ブロックに移動しようとしましたが、どちらも機能しませんでした。実行するip route get 192.168.60.151
と、常に192.168.60.151 via 10.0.1.1 dev eth0 src 192.168.60.21
.
私はグーグルで検索しましたが、発信パケットの送信元アドレスを変更する方法がわかりませんでした。