web-dev-qa-db-ja.com

別のサブネット上のコンピューターを介したインターネットトラフィックのルーティング

Ubuntuボックスserverには2つのネットワークインターフェイスがあります:

eth0 50.57.71.100
eth1 10.182.161.100

Ubuntuボックスclientには1つのネットワークインターフェイスがあります:

eth0 10.177.30.100

serverおよびclientすでに問題なく相互に通信できます。これがclientのルーティングテーブルです:

10.176.0.0/12 via 10.177.0.1 dev eth0 
10.177.0.0/17 dev eth0  proto kernel  scope link  src 10.177.30.100
10.208.0.0/12 via 10.177.0.1 dev eth0 

serverのカーネルでipv4転送を有効にしました。マシンからのインターネットトラフィックがclient経由でルーティングされるようにこれを設定するにはどうすればよいですかサーバー? (たとえば、8.8.8.8にpingを実行します)

clientにルートを追加しようとしましたが、削除するまですべてのネットワーク接続が失われました。

route add 10.182.161.100/32 dev eth0

clientのデフォルトゲートウェイをserverしかし、これは失敗します:

# route add default gw 10.182.161.100
SIOCADDRT: No such process
2
MrSilver AG

ルーター10.177.0.1の背後にあるネットワークからのトラフィックを別のルート(具体的にはサーバーへ)に送信する場合は、10.177.0.1サーバーを指すルートを設定します。

これにより、10.177.0.1を通過するすべての送信トラフィックがサーバーを経由することになりますが、それが必要かどうかはわかりません。

1
NickW

OpenVPN サーバーをサーバーにインストールし、クライアントをクライアントにインストールできます。 「redirect-gatewaydef1」を使用すると、クライアントのデフォルトルートがサーバーにリダイレクトされます。
OpenVPNのセットアップが機能した後、インターネット側のクライアントのプライベートIPを削除するには、NAT(マスカレード))を展開する必要があります。

UPDATE:Andrew Schulmansのコメントの後、私はもう少し調査しました。目標はトンネルのセキュリティではないため、 [〜#〜] gre [〜#〜] トンネルはニーズに適していて、セットアップが簡単です。あなたの場合、クライアントのデフォルトルートはサーバーを指す必要があり、マスカレードを行う必要があります。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Iptablesルールを永続化するには:

service iptables save
0
Enno Gröper