
2つのネットワークカードに2つのIPアドレスを持つUbuntu 16.04.5 LTSを実行しているサーバーがあります。
eth0: 192.168.1.5/24, gw 192.168.1.1
eth1: 192.168.2.5/24, gw 192.168.2.1
これとGoogleで検索しながらこれを行うために、eth1の2番目のルーティングテーブルを作成し、次のものを追加しました。
/etc/iproute2/rt_tables:
1 rt2
/etc/ネットワーク/インターフェース:
post-up ip route add 192.168.2.0/24 dev eth1 src 192.168.2.5 table rt2
post-up ip route add default via 192.168.2.1 dev eth1 table rt2
post-up ip rule add from 192.168.2.5/32 table rt2
post-up ip rule add to 192.168.2.5/32 table rt2
コンピュータは192.168.2.0/24にも接続されており、IPは192.168.2.7です。今問題は、私のコンピュータから192.168.1.5のサーバーにアクセスできないことです。私はサーバーでtcpdumpを実行しており、パケットが入っていることを知っていますが、何も送信されず、パケットは破棄されません。
マイコンピュータでも192.168.1.5にアクセスできる必要があります。
アップデート1:
ここで構成を公開するときに間違いを犯しました。最後の2つの公開定義を更新しました。パスの代わりにルールでなければなりません。 (ありがとう、AB) 第二に、最後の文章が少し誤解を招いていたので変えました。