こんにちは。OpenVPN ネットワークに問題があります。基本的な考え方は、図のとおり、リモート OpenVPN サーバー、2 つのクライアント、MyPC、および Client_1 と Client_2 を含む独自のネットワークを持つ OpenWRT クライアントです。MyPC から Client_1 にアクセスでき、その逆も可能である必要があります。ルーティングまたは転送の問題のようです。
|-----------------------| |-----------------------------------|
|Ubuntu 14.04 | |OpenWRT router |
|OpenVPN Server | <-----> |Acts as OpenVPN client |
|WAN 192.168.1.197 | |LAN: 192.168.0.1, WAN:192.168.1.1 |
|OpenVPN IP: 172.20.2.1 | |OpenVPN IP:172.20.1.100 |
|-----------------------| |-----------------------------------|
^ ^ ^
| | |
| | |
v v v
|-----------------------| |-------------------| |------------------|
|MyPC, OpenVPN client | (1) |Network client_1 | |Network client_2 |
|LAN: 192.168.1.205 | <-------> |LAN: 192.168.0.213 | |LAN: 192.168.1.101|
|OpenVPN IP:172.20.2.101| |-------------------| |------------------|
|-----------------------|
pingの結果
MyPC に Ping -> OpenVPN サーバー OK MyPC に Ping -> OpenWRT OK MyPC に Ping -> client_1 192.168.1.205 からの応答: 宛先ホストに到達できません。 OpenVPN サーバーに Ping -> MyPC OK OpenVPN サーバーに Ping -> OpenWRT OK OpenVPN サーバーに Ping -> client_1 192.168.1.197 から icmp_seq=1 宛先ホストに到達できません OpenWRT に Ping -> OpenVPN サーバー OK OpenWRT に Ping -> MyPC OK OpenWRT に Ping -> client_1 OK Ping client_1 -> OpenVPN サーバー 192.168.0.1 icmp_seq=1 宛先ポートに到達できません Ping client_1 -> MyPC From 192.168.0.1 icmp_seq=1 宛先ポートに到達できません client_1 に Ping -> OpenWRT OK
OpenVPN 構成、サーバーおよびクライアント
======OpenVPN configuration ===================================================================
port 1198
proto udp
dev tap2
ca keys/remote_management/ca.crt
cert keys/remote_management/remote_man.crt
key keys/remote_management/remote_man.key
dh keys/remote_management/dh4096.pem
server-bridge 172.20.2.1 255.255.255.0 172.20.2.100 172.20.2.253 #@@ br1 eth2
crl-verify keys/remote_management/crl.pem
ifconfig-pool-persist servers/remote_man/logs/ipp.txt
tls-auth servers/remote_man/ta.key 0
cipher AES-128-CBC
user nobody
group nogroup
status servers/remote_man/logs/openvpn-status.log
log-append servers/remote_man/logs/openvpn.log
verb 2
mute 20
max-clients 10
management 127.0.0.1 7507
keepalive 10 120
client-config-dir /etc/openvpn/servers/remote_man/ccd
tls-server
client-to-client
comp-lzo
persist-key
persist-tun
ccd-exclusive
push "route 172.20.2.0 255.255.255.0"
route 192.168.0.0 255.255.255.0
======OpenVPN client MyPC configuration ======================================================
client
proto udp
dev tap
ca ca.crt
dh dh4096.pem
cert ***.crt
key ***.key
remote *** 1198
tls-auth ta.key 1
cipher AES-128-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind
======OpenVPN client OpenWRT configuration ===================================================
client
proto udp
dev tap
ca /etc/openvpn/sol102/ca.crt
dh /etc/openvpn/sol102/dh4096.pem
cert /etc/openvpn/sol102/sol102.crt
key /etc/openvpn/sol102/sol102.key
remote *** 1198
tls-auth /etc/openvpn/sol102/ta.key 1
cipher AES-128-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind
OpenWRT 構成
======OpenWRT ネットワーク構成================================================================ 設定インターフェース「ループバック」 オプション ifname 'lo' オプション プロトコル 'static' オプション ipaddr '127.0.0.1' オプションネットマスク '255.0.0.0' config グローバル 'globals' オプション ula_prefix 'fdf2:d4ae:ecd5::/48' 設定インターフェース 'lan' オプション ifname 'eth0.1' オプション force_link '1' オプションタイプ「ブリッジ」 オプション プロトコル 'static' オプションネットマスク '255.255.255.0' オプション ip6assign '60' オプション ipaddr '192.168.0.1' 設定インターフェース 'wan' オプション ifname 'eth0.2' オプション プロトコル 'dhcp' 設定インターフェース 'wan6' オプション ifname '@wan' オプション プロトコル 'dhcpv6' 設定スイッチ オプション名 'switch0' オプションリセット '1' オプション enable_vlan '1' スイッチVLANの設定 オプションデバイス 'switch0' オプション VLAN '1' オプションポート '1 2 3 4 5t' スイッチVLANの設定 オプションデバイス 'switch0' オプション VLAN '2' オプションポート '0 5t' 設定インターフェース 'OVPN' オプション プロトコル 'none' オプション委任 '0' オプション ifname 'tap0' ======OpenWRT ファイアウォール設定================================================================= 設定のデフォルト オプション syn_flood '1' オプション入力「承認」 オプション出力 'ACCEPT' オプション転送「拒否」 設定ゾーン オプション名 'lan' オプション入力「承認」 オプション出力 'ACCEPT' オプション転送「拒否」 オプションネットワーク 'lan' 設定ゾーン オプション名 'wan' オプション入力「拒否」 オプション出力 'ACCEPT' オプション転送「拒否」 オプションマスク '1' オプションネットワーク 'wan wan6' 設定ルール オプション名 'Allow-DHCP-Renew' オプション src 'wan' オプション プロトコル 'udp' オプション dest_port '68' オプションターゲット 'ACCEPT' オプション ファミリ 'ipv4' 設定ルール オプション名 'Allow-Ping' オプション src 'wan' オプション プロトコル 'icmp' オプション icmp_type 'エコー要求' オプション ファミリ 'ipv4' オプションターゲット 'ACCEPT' 設定ルール オプション名 'Allow-DHCPv6' オプション src 'wan' オプション プロトコル 'udp' オプション src_ip 'fe80::/10' オプション src_port '547' オプション dest_ip 'fe80::/10' オプション dest_port '546' オプション ファミリ 'ipv6' オプションターゲット 'ACCEPT' 設定ルール オプション名 'Allow-ICMPv6-Input' オプション src 'wan' オプション プロトコル 'icmp' icmp_type 'エコー要求' をリストする icmp_type 'エコー応答' をリストする icmp_type 'destination-unreachable' をリストする icmp_type 'パケットが大きすぎる' をリストする icmp_type 'time-exceeded' をリストする icmp_type 'bad-header' をリストする icmp_type '不明なヘッダータイプ' をリストする icmp_type 'ルーター要請' をリストする icmp_type '近隣要請' をリストする icmp_type 'ルーター広告' をリストする icmp_type '近隣広告' をリストする オプション制限 '1000/秒' オプション ファミリ 'ipv6' オプションターゲット 'ACCEPT' 設定ルール オプション名 'Allow-ICMPv6-Forward' オプション src 'wan' オプション宛先 '*' オプション プロトコル 'icmp' icmp_type 'エコー要求' をリストする icmp_type 'エコー応答' をリストする icmp_type 'destination-unreachable' をリストする icmp_type 'パケットが大きすぎる' をリストする icmp_type 'time-exceeded' をリストする icmp_type 'bad-header' をリストする icmp_type '不明なヘッダータイプ' をリストする オプション制限 '1000/秒' オプション ファミリ 'ipv6' オプションターゲット 'ACCEPT' 設定インクルード オプションパス '/etc/firewall.user' 設定ゾーン オプション出力 'ACCEPT' オプション名 'OVPN_FW' オプションマスク '1' オプション入力「承認」 オプション転送「拒否」 オプションネットワーク「OVPN」 オプション mtu_fix '1' 設定転送 オプション宛先 'OVPN_FW' オプション src 'lan' 設定転送 オプション宛先 'wan' オプション src 'lan' 設定転送 オプション宛先 'lan' オプションソース 'OVPN_FW'
tcpdumpをいくつか持っています
======OpenVPN server tcpdump icmp filtered ====================================================
12:46:11.654580 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 83, length 40
12:46:11.654580 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 83, length 40
12:46:14.652217 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:14.652244 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:14.657835 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 84, length 40
12:46:14.657835 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 84, length 40
12:46:17.656214 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:17.656241 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:17.661768 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 85, length 40
12:46:17.661768 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 85, length 40
12:46:20.660206 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:20.660233 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:20.665362 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 86, length 40
12:46:20.665362 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 86, length 40
12:46:23.666797 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:23.666824 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
======OpenWRT client tcpdump icmp filtered ====================================================
12:44:17.299404 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 48
12:44:18.461809 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:19.464258 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:20.466652 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:20.944332 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 48
12:44:32.311732 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 308
編集: そんなに多くのコードを入れることはできないのでhttp://pastebin.com/ThgqBUgM(リンクは無効です)
答え1
問題はおそらくルーティングです。Ubuntu サーバーは 192.168.0.0/24 - がどこにあるかを知っている必要があります。route add -net 192.168.0.0/24 gw 172.20.1.100
これがないと、このルートはデフォルト ゲートウェイと一致し、パケットは間違ったインターフェイスを使用してルーティングされます。パケットを転送するすべてのデバイス (OpenWRT および Ubuntu) は、、およびの3つのネットワークについて知っている必要があります192.168.0.0/24
。192.168.1.0/24
172.20.1.0/24