web-dev-qa-db-ja.com

Ubuntu、SIOCADDRTに静的ルートを追加できません:ネットワークに到達できません

VPNトンネルの反対側にあるクライアントにVPSの静的ルートを追加して、そのトラフィックをトンネル経由で転送しようとしています。

これは、ルートを追加する予定の目的地の設定です。 Raspiはそれ自体がAPに接続されているルーターとして機能し、NASはRaspiに接続され、VPNトンネルを介してトラフィックをリダイレクトします。

                                        +--------------------------------+
                                        |            Raspi               |
                      (192.168.0.101/24)|                                |(192.168.1.1/24)
 (192.168.0.1/24) AP<>=================={wlan0                       eth0}================<>NAS (192.168.1.102/24)
                                        |   \                        /   |
                                        |    +----------------------+    |
                                        |    |     iptables and     |    |
                                        |    |    routing engine    |    |
                                        |    +-----------+----------+    |
                                        |                |               |
                                        |             {tun0}             |
                                        |            10.8.0.6            |
                                        +--------------------------------+

Raspiの背後にあるNAS)と通信するために、route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.8.0.6を実行しようとしていますが、SIOCADDRT: Network is unreachableを取得します。

これらはサーバー側の情報です:

$ ifconfig -a

eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          inet addr:217.B.C.D  Bcast:217.B.C.D  Mask:255.255.255.255
          inet6 addr: XXXX::XXX:XXXX:XXXX:XXXX/XX Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1598 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1453 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:176137 (176.1 KB)  TX bytes:165179 (165.1 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:9 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:460 (460.0 B)  TX bytes:460 (460.0 B)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:169 errors:0 dropped:0 overruns:0 frame:0
          TX packets:183 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:14825 (14.8 KB)  TX bytes:15071 (15.0 KB)

$ netstat -anr

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.255.255.1    0.0.0.0         UG        0 0          0 eth0
10.8.0.0        10.8.0.2        255.255.255.0   UG        0 0          0 tun0
10.8.0.2        0.0.0.0         255.255.255.255 UH        0 0          0 tun0
10.255.255.1    0.0.0.0         255.255.255.255 UH        0 0          0 eth0

$ ipルートリスト

default via 10.255.255.1 dev eth0
10.8.0.0/24 via 10.8.0.2 dev tun0
10.8.0.2 dev tun0  proto kernel  scope link  src 10.8.0.1
10.255.255.1 dev eth0  scope link

追加情報:

インターフェイス間のトラフィックリダイレクトをどのように達成したのか疑問に思われる場合は、iptablesを使用してこれまでのすべてをどのように管理したかを説明する私の投稿を次に示します。

https://unix.stackexchange.com/questions/273926/redirect-secondary-network-interface-traffic-along-with-port-forwarding-to-tun

クライアントnetwrokブロック(p2pトポロジの場合):

10.8.0.4 : Network address
10.8.0.5 : Virtual remote endpoint; Non pingable; Only used for routing
10.8.0.6 : Client IP address
10.8.0.7 : Network broadcast address

更新1:

VPNクライアントの対応するccdファイルでVPNサーバー構成をtopology subnetifconfig-Push 10.8.0.6 255.255.255.0に変更し、代わりにVPNサーバーとクライアントを/24サブネットに移動しました/32の次に、ルートを追加します。今回はroute add -net 192.168.1.0 netmask 255.255.255.0 gw 10.8.0.6またはroute add -net 192.168.1.0 netmask 255.255.255.0 dev tun0はエラーを返しませんでしたが、それでもping 192.168.1.102は返しませんでした。ただし、netstat -anrは変更されました(route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.8.0.6の場合)。

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.255.255.1    0.0.0.0         UG        0 0          0 eth0
10.8.0.0        0.0.0.0         255.255.255.0   U         0 0          0 tun0
10.255.255.1    0.0.0.0         255.255.255.255 UH        0 0          0 eth0
192.168.1.0     10.8.0.6        255.255.255.0   UG        0 0          0 tun0
2
Bahador

私は次の指示を読みました:

https://openvpn.net/index.php/open-source/documentation/howto.html#scope

そして、VPSのroute 192.168.1.0 255.255.255.0server.confを追加し、クライアントの対応するccdファイルにもiroute 192.168.1.0 255.255.255.0を追加しました。そして、コマンドroute add -net 192.168.1.0 netmask 255.255.255.0 gw 10.8.0.6を使用しましたが、それだけです。 VPSからOpenVPNクライアントの背後にある192.168.1.102クライアントにpingを実行できます:D

追伸:私はまだsubnet topologyモードです。通常のp2p topologyでは試していませんが、うまくいくはずです。

0
Bahador