Linux静的ルーティング:Pingプライベートネットワーク(ネットワーク図を含む)

Linux静的ルーティング:Pingプライベートネットワーク(ネットワーク図を含む)

ネットワーク図

上記のネットワーク図では、私の目標は192.168.20.20システムAからpingを送信することです。ルータを設定したくありません。

これを達成するために

  1. すべてのトラフィックは192.168.20.0/24最初に次に転送する必要があります。 10.200.8.14

  2. その後、システムBにはパスが必要です。192.168.20.20.

192.168.20.0/24ネットワークに到達するためのデフォルトゲートウェイが次のようにシステムAにパスを追加する方法はありますか?これらの10.200.8.14. パスが追加されていても、接続には10.200.8.14まだデフォルトゲートウェイが必要です。10.201.11.1.

これを達成する方法を提案してください。

答え1

最初に登場するのはSSHベースのVPNです。 PermitTunnelを表示してman sshd_config検索します。

PermitTunnelまず(両方のホスト)有効になっていてPermitRootLogin(systemBで)再ロードされていることを確認してくださいyeswithout-password/etc/ssh/sshd_configsshd

次に、次のコマンドを使用してホスト10.200.8.14にログインします。

# ssh -NTCf -w 0:0 10.200.8.14

次のステップは、プライベートVPNサブネット(この例では192.168.10.0)でインターフェイスを設定することです。

systemA # ip link set tun0 up
systemA # ip addr add 192.168.10.10/32 peer 192.168.10.20 dev tun0

systemB # ip link set tun0 up
systemB # ip addr add 192.168.10.20/32 peer 192.168.10.10 dev tun0

次に、システムBの後ろにネットワークへのパスを追加します。

systemA # ip route add 192.168.20.0/24 via 192.168.10.10
systemA # ping 192.168.20.20

もう一つの方法sshuttlesshuttle。次に、次を実行します。

systemA # /usr/sbin/sshuttle -D --pidfile /tmp/sshuttle.pid --dns -r user@systemB 192.168.20.0/24

トラフィックをルーティングするために使用されるため、sudoパスワードが必要です。以下を使用して、パスワードを要求しないようにファイルを変更iptablesできます。/etc/sudoersvisudo

 systemA # visudo
 # add:
 myuser ALL=(ALL) NOPASSWD: /sbin/iptables, /usr/bin/python

いくつかの興味深い参考資料:

https://help.ubuntu.com/community/SSH_VPN
http://sleepyhead.de/howto/?href=vpn
https://github.com/apenwarr/sshuttle

答え2

SSH経由のVPNステップに従いました。しかし、問題はarpの解析で発生します。

192.168.10.0/24 パスを追加した後。

System C : route add -net 192.168.10.0/24 p255p2

arp 解決のために、次のコマンドを実行します。

System B : sudo arp -sD 192.168.10.10 eth1 pub

このステップの後、Ping は機能しました。


これらのステップが必要ですか?

関連情報