サイトA(サーバー-マーリン)とサイトB(クライアントDD-WRT)の間でOpenVPNサイトをサイトにセットアップしようとしています。トンネルが起動し、両方のピアが相互にpingを実行できますが、クライアントサブネット(10.1.30.0/24)の誰かがサーバー側(10.1.10.0/24)のホストにpingを実行しようとすると、サーバーによってパケットがドロップされます。ルートを追加した後でも、サーバーはクライアントのサブネットに到達する方法を知らないためです。構成は次のとおりです。

サーバ

Automatically generated configuration

daemon

server 172.16.254.0 255.255.255.248

proto udp

port 1198

dev tun21

cipher AES-256-CBC

comp-lzo adaptive

keepalive 15 60

verb 3

push "route 10.1.10.0 255.255.255.0"

client-config-dir ccd

client-to-client

duplicate-cn

ca ca.crt

dh dh.pem

cert server.crt

key server.key

status-version 2

status status

Custom Configuration

ifconfig 172.16.254.1 255.255.255.248M

management 127.0.0.1 5001M

auth none

ファイアウォール-サーバー

iptables -I INPUT 2 -p udp --dport 1198 -j ACCEPT

iptables -I FORWARD -i br0 -o tun21 -j ACCEPT

iptables -I FORWARD -i tun21 -o br0 -j ACCEPT

ルーティングテーブルサーバー:

172.16.254.2 dev tun21 proto kernel scope link src 172.16.254.1

x.x.x.x dev eth0 scope link

172.16.254.0/29 via 172.16.254.2 dev tun21

x.x.x.x/28 dev eth0 proto kernel scope link src x.x.x.x

10.1.10.0/24 dev br0 proto kernel scope link src 10.1.10.254

127.0.0.0/8 dev lo scope link

default via x.x.x.x dev eth0

クライアント構成:

ca /tmp/openvpncl/ca.crt

cert /tmp/openvpncl/client.crt

key /tmp/openvpncl/client.key

management 127.0.0.1 5001

management-log-cache 50

verb 4

mute 3

log-append /var/log/openvpncl

writepid /var/run/openvpncl.pid

client

resolv-retry infinite

nobind

persist-key

persist-tun

script-security 2

mtu-disc yes

dev tun1

proto udp

cipher aes-256-cbc

auth none

remote x.x.x.x 1198

comp-lzo adaptive

tun-mtu 1500

fast-io

クライアントファイアウォール

iptables -I INPUT 2 -p udp --dport 1198 -j ACCEPT

iptables -I FORWARD -i br0 -o tun1 -j ACCEPT

iptables -I FORWARD -i tun1 -o br0 -j ACCEPT

クライアントルーティングテーブル:

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.2.253 0.0.0.0 UG 0 0 0 eth1

10.1.10.0 172.16.254.5 255.255.255.0 UG 0 0 0 tun1

10.1.30.0 0.0.0.0 255.255.255.0 U 0 0 0 br0

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br0

172.16.254.0 172.16.254.5 255.255.255.248 UG 0 0 0 tun1

172.16.254.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun1

192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

239.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 br0

奇妙なことに、クライアント側ではtunデバイスのIPが172.16.254.6であり、ゲートウェイは172.16.254.5であり、サーバー側ではIPは172.16.254.1であり、tunIPは172.16.254.2です。サーバー側では172.16.254.2にpingできませんが、クライアントのtun IP(172.16.254.6)にpingできます。また、クライアント側では、ゲートウェイである172.16.254.5にpingできませんが、pingはできます。 172.16.254.1。

サーバーインターフェース

ip addr

1: lo: mtu 16436 qdisc noqueue

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 brd 127.255.255.255 scope host lo

2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000

link/ether d8:50:e6:cb:f5:f0 brd ff:ff:ff:ff:ff:ff

inet x.x.x.x/28 brd x.x.x.x scope global eth0

3: eth1: mtu 1500 qdisc pfifo_fast qlen 1000

link/ether d8:50:e6:cb:f5:f0 brd ff:ff:ff:ff:ff:ff

4: eth2: mtu 1500 qdisc pfifo_fast qlen 1000

link/ether d8:50:e6:cb:f5:f4 brd ff:ff:ff:ff:ff:ff

5: [email protected]: mtu 1500 qdisc noqueue

link/ether d8:50:e6:cb:f5:f0 brd ff:ff:ff:ff:ff:ff

6: [email protected]: mtu 1500 qdisc noop

link/ether d8:50:e6:cb:f5:f0 brd ff:ff:ff:ff:ff:ff

7: br0: mtu 1500 qdisc noqueue

link/ether d8:50:e6:cb:f5:f0 brd ff:ff:ff:ff:ff:ff

inet 10.1.10.254/24 brd 10.1.10.255 scope global br0

8: tun21: mtu 1500 qdisc

pfifo_fast qlen 100

link/[65534]

inet 172.16.254.1 peer 172.16.254.2/32 scope global tun21

クライアントインターフェイス:

ath0 Link encap:Ethernet HWaddr B0:C7:45:75:1C:F6

     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

     RX packets:2528056 errors:0 dropped:0 overruns:0 frame:0

     TX packets:3317121 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:32

     RX bytes:177453174 (169.2 MiB)  TX bytes:539912763 (514.9 MiB)

ath1 Link encap:Ethernet HWaddr B0:C7:45:75:1C:F7

     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

     RX packets:0 errors:0 dropped:0 overruns:0 frame:0

     TX packets:12502 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:32

     RX bytes:0 (0.0 B)  TX bytes:1688459 (1.6 MiB)

br0 Link encap:Ethernet HWaddr B0:C7:45:75:1C:F6

     inet addr:10.1.30.251  Bcast:10.1.30.255  Mask:255.255.255.0

     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

     RX packets:3715741 errors:0 dropped:3772 overruns:0 frame:0

     TX packets:5006361 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:0

     RX bytes:415672171 (396.4 MiB)  TX bytes:6820174338 (6.3 GiB)

br0:0 Link encap:Ethernet HWaddr B0:C7:45:75:1C:F6

     inet addr:169.254.255.1  Bcast:169.254.255.255  Mask:255.255.0.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0 Link encap:Ethernet HWaddr B0:C7:45:75:1C:F6 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

     RX packets:610099 errors:0 dropped:4 overruns:18 frame:0

     TX packets:931175 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000

     RX bytes:263258272 (251.0 MiB)  TX bytes:833541212 (794.9 MiB)
     Interrupt:4

eth1 Link encap:Ethernet HWaddr B0:C7:45:75:1C:F6

     inet addr:192.168.2.254  Bcast:192.168.2.255  Mask:255.255.255.0

     UP BROADCAST RUNNING MULTICAST  MTU:1492  Metric:1

     RX packets:5071499 errors:0 dropped:787 overruns:0 frame:0

     TX packets:3681042 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:1000

     RX bytes:2519572372 (2.3 GiB)  TX bytes:462892303 (441.4 MiB)

     Interrupt:5

lo Link encap:Local Loopback

     inet addr:127.0.0.1  Mask:255.0.0.0

     UP LOOPBACK RUNNING MULTICAST  MTU:16436  Metric:1

     RX packets:421 errors:0 dropped:0 overruns:0 frame:0

     TX packets:421 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:0

     RX bytes:37100 (36.2 KiB)  TX bytes:37100 (36.2 KiB)

mon.ath0 Link encap:UNSPEC HWaddr B0-C7-45-75-1C-F6-00-00-00-00-00-00-00-00-00-00 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

     RX packets:462186 errors:0 dropped:0 overruns:0 frame:0

     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:32

     RX bytes:105722162 (100.8 MiB)  TX bytes:0 (0.0 B)

mon.ath1 Link encap:UNSPEC HWaddr B0-C7-45-75-1C-F7-00-00-00-00-00-00-00-00-00-00

     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

     RX packets:3114 errors:0 dropped:0 overruns:0 frame:0

     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:32

     RX bytes:377428 (368.5 KiB)  TX bytes:0 (0.0 B)

tun1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

     inet addr:172.16.254.6  P-t-P:172.16.254.5  Mask:255.255.255.255

     UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

     RX packets:268 errors:0 dropped:0 overruns:0 frame:0

     TX packets:14279 errors:0 dropped:0 overruns:0 carrier:0

     collisions:0 txqueuelen:100

     RX bytes:22488 (21.9 KiB)  TX bytes:775355 (757.1 KiB)

サーバーからピアIPにpingを実行します。

ping 172.16.254.2

PING 172.16.254.2 (172.16.254.2): 56 data bytes

--- 172.16.254.2 ping statistics ---

4 packets transmitted, 0 packets received, 100% packet loss

サーバーからtun0のクライアントIPアドレスにpingを実行します。

ping 172.16.254.6

PING 172.16.254.6 (172.16.254.6): 56 data bytes

64 bytes from 172.16.254.6: seq=0 ttl=64 time=30.222 ms

64 bytes from 172.16.254.6: seq=1 ttl=64 time=29.536 ms

64 bytes from 172.16.254.6: seq=2 ttl=64 time=30.918 ms

64 bytes from 172.16.254.6: seq=3 ttl=64 time=30.386 ms

64 bytes from 172.16.254.6: seq=4 ttl=64 time=30.788 ms

64 bytes from 172.16.254.6: seq=5 ttl=64 time=31.271 ms

--- 172.16.254.6 ping statistics ---

6 packets transmitted, 6 packets received, 0% packet loss

round-trip min/avg/max = 29.536/30.520/31.271 ms

クライアントからピアIPにpingを実行します。

ping 172.16.254.5

PING 172.16.254.5 (172.16.254.5): 56 data bytes

^C --- 172.16.254.5 ping statistics ---

7 packets transmitted, 0 packets received, 100% packet loss

クライアントからサーバー上のtun21のIPにpingを実行します

ping 172.16.254.1

PING 172.16.254.1 (172.16.254.1): 56 data bytes

64 bytes from 172.16.254.1: seq=0 ttl=64 time=29.253 ms

64 bytes from 172.16.254.1: seq=1 ttl=64 time=31.730 ms

64 bytes from 172.16.254.1: seq=2 ttl=64 time=30.010 ms

^C

--- 172.16.254.1 ping statistics ---

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max = 29.253/30.331/31.730 ms

ip 172.16.254.6を使用してサーバー上の10.1.30.0(クライアントLAN)にルートを追加しようとしましたが、172.16.254.2にしかマップできません。

ip route add 10.1.30.0/24 via 172.16.254.6 dev tun21

RTNETLINK answers: No such process

ip route add 10.1.30.0/24 via 172.16.254.2 dev tun21

サーバーからクライアントLAN上のホストにpingを実行します-サイコロはありません

PING 10.1.30.100 (10.1.30.100): 56 data bytes

--- 10.1.30.100 ping statistics ---

3 packets transmitted, 0 packets received, 100% packet loss

クライアントからサーバーLAN上のホストにpingを実行します-サイコロはありません

ping 10.1.10.100

PING 10.1.10.100 (10.1.10.100): 56 data bytes

^C

--- 10.1.10.100 ping statistics ---

2 packets transmitted, 0 packets received, 100% packet loss

サーバー側からのログ:

LOG:1432700723,D,Client/x.x.x.x:44820 UDPv4 READ [81] from [AF_INET]x.x.x.x:44820: P_DATA_V1 kid=0 DATA len=80

LOG:1432700723,,Client/x.x.x.x:44820 MULTI: bad source address from client [10.1.30.100], packet dropped

LOG:1432700723,D,Client/x.x.x.x:44820 UDPv4 READ [81] from [AF_INET]x.x.x.x:44820: P_DATA_V1 kid=0 DATA len=80

LOG:1432700723,,Client/x.x.x.x:44820 MULTI: bad source address from client [10.1.30.106], packet dropped

LOG:1432700724,D,Client/x.x.x.x:44820 UDPv4 READ [81] from [AF_INET]x.x.x.x:44820: P_DATA_V1 kid=0 DATA len=80

LOG:1432700724,,Client/x.x.x.x:44820 MULTI: bad source address from client [10.1.30.110], packet dropped

2700729,,Client/x.x.x.x:44820 MULTI: bad source address from client [10.1.30.100], packet dropped

クライアント側からのログ:

LOG:1432686050,D,UDPv4 WRITE [81] to x.x.x.x:1198: P_DATA_V1 kid=0 DATA len=80

LOG:1432686050,D,UDPv4 WRITE [81] to x.x.x.x:1198: P_DATA_V1 kid=0 DATA len=80

LOG:1432686051,D,UDPv4 WRITE [81] to x.x.x.x:1198: P_DATA_V1 kid=0 DATA len=80

両方のルーターでtcpdumpを実行したところ、サーバー側のLANからのパケットがクライアントルーターに到達していないことがわかりました。

どんな助けでもいただければ幸いです。

ありがとう

answer

設定に次の行を追加することでこれを解決しました

route 10.1.30.0 255.255.255.0

push "route 10.1.10.0 255.255.255.0"

push "route 10.1.30.0 255.255.255.0"

CCDフォルダにクライアント用に次の行を追加しました

less /tmp/etc/openvpn/server1/ccd/CALPHA

iroute 10.1.30.0 255.255.255.0