Здравствуйте, специалисты!Обращаюсь к вам потому, что не могу сам нигде найти решение. Проблема в следующем.
Обычно VPN подымают в локальных сетях для доступа внутрь этих сетей из Интернета. Поэтому, сервер имеет два сетевых интерфейса (обычно Ethernet). У меня задача другая. Есть сервер с одним сетевым интерфейсом, который имеет белый IP адрес. Он стоит в DMZ узла интернет-доступа. Доступ к серверу из LAN осуществляется через NAT на фаерволе, который служит шлюзом для выхода в Интернет и DMZ. Таким образом, я имею полный доступ к серверу из LAN. На сервере установлен ASP Linux и работает openvpn. Задача сервера - раздача белых IP адресов клиентам openvpn в LAN. После пары часов усердных работ на сервере и клиенте (моем компьютере в LAN) сервер стал раздавать, а клиент получать белые IP адреса из пула адресов, указанном на сервере. Но, увы, клиент не имеет доступ в публичную сеть. При этом маршрут по умолчанию указан правильно - шлюзом указан виртуальный интерфейс VPN сервера и маршрут идет через виртуальный интерфейс openvpn клиента. traceroute на клиенте показывает, что пакеты уходят в правильном направлении - на VPN сервер. Сам VPN сервер пингует хосты публичной сети, пингует свой виртуальный интерфейс, пингует IP клиента, но не пингует P-t-P интерфейс ни свой, ни клиента. При этом клиент также пингует физический интерфейс сервера (иначе не подключился бы), пингует виртуальный интерфейс сервера, созданный службой openvpn, но не пингует уже свой P-t-P интерфейс. Ну, и соответственно не видит Интернет. Отмечу, что на этом сервере пробовал подымать таким же образом pptp. И все работало (работает и сейчас). Но, я так понял, в pptp другой механизм P-t-P взаимодействия. Далее приведу вывод ping, ifconfig и netstat -r, а также конфиги сервера и клиента.
===========================================================================
Конфиг сервера.
port 1194
proto udp
dev tun
tls-server
tls-auth /etc/openvpn/keys/ta.key 0
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server pu.bl.ic.160 255.255.255.224
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
keepalive 10 120
cipher BF-CBC
comp-lzo
max-clients 30
persist-key
persist-tun
status openvpn-status.log
verb 3
================================================================================
Конфиг клиента.
client
tls-client
tls-auth ta.key 1
dev tun
proto udp
tun-mtu 1500
remote 10.0.0.1 1194 ; 10.0.0.1 - NAT pu.bl.ic.126 - физический интерфейс сервера
nobind
persist-key
persist-tun
ca ca.crt
cert alias.crt
key alias.key
comp-lzo
cipher BF-CBC
verb 3
mute 20
pull
==============================================================================
ifconfig сервера.
eth0 Link encap:Ethernet HWaddr 00:1E:8C:81:E5:90
inet addr:pu.bl.ic.126 Bcast:pu.bl.ic.255 Mask:255.255.255.0
inet6 addr: fe80::21e:8cff:fe81:e590/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2728061 errors:0 dropped:0 overruns:0 frame:0
TX packets:3000326 errors:0 dropped:0 overruns:0 carrier:2
collisions:0 txqueuelen:1000
RX bytes:1989162157 (1.8 GiB) TX bytes:2112118894 (1.9 GiB)
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:16436 Metric:1
RX packets:1358 errors:0 dropped:0 overruns:0 frame:0
TX packets:1358 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:83660 (81.6 KiB) TX bytes:83660 (81.6 KiB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:pu.bl.ic.161 P-t-P:pu.bl.ic.162 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:8428 errors:0 dropped:0 overruns:0 frame:0
TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:568566 (555.2 KiB) TX bytes:2846 (2.7 KiB)
===================================================================================
netstat -r сервера.
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
pu.bl.ic.101 * 255.255.255.255 UH 0 0 0 ppp0
pu.bl.ic.162 * 255.255.255.255 UH 0 0 0 tun0
pu.bl.ic.160 pu.bl.ic.162 255.255.255.224 UG 0 0 0 tun0
pu.bl.ic.0 * 255.255.255.0 U 0 0 0 eth0
default pu.bl.ic.1 0.0.0.0 UG 0 0 0 eth0
=============================================================================
ipconfig клиента.
Ethernet adapter OpenVPN:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::a4ca:c6f9:8d5a:b5b9'
IPv4 Address. . . . . . . . . . . : pu.bl.ic.166
Subnet Mask . . . . . . . . . . . : 255.255.255.252
Default Gateway . . . . . . . . . :
Ethernet adapter LAN:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::38d4:e094:7cca:3b81
IPv4 Address. . . . . . . . . . . : 10.200.10.10
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . : 10.200.0.10
===========================================================================
netstat -r клиента.
IPv4 Route Table
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.200.0.10 10.200.10.10 266
0.0.0.0 128.0.0.0 pu.bl.ic.165 pu.bl.ic.166 31
10.0.0.0 255.0.0.0 10.200.0.10 10.200.10.10 11
10.200.0.0 255.255.0.0 On-link 10.200.10.10 266
10.200.10.10 255.255.255.255 On-link 10.200.10.10 266
10.200.255.255 255.255.255.255 On-link 10.200.10.10 266
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
128.0.0.0 128.0.0.0 pu.bl.ic.165 pu.bl.ic.166 31
pu.bl.ic.161 255.255.255.255 pu.bl.ic.165 pu.bl.ic.166 31
pu.bl.ic.164 255.255.255.252 On-link pu.bl.ic.166 286
pu.bl.ic.166 255.255.255.255 On-link pu.bl.ic.166 286
pu.bl.ic.167 255.255.255.255 On-link pu.bl.ic.166 286
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 10.200.10.10 266
224.0.0.0 240.0.0.0 On-link pu.bl.ic.166 285
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 10.200.10.10 266
255.255.255.255 255.255.255.255 On-link pu.bl.ic.166 286
Persistent Routes:
Network Address Netmask Gateway Address Metric
10.0.0.0 255.0.0.0 10.200.0.10 1
0.0.0.0 0.0.0.0 10.200.0.10 Default
===========================================================================
ping из сервера.
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. # IP публичный ДНС
64 bytes from 8.8.8.8: icmp_seq=1 ttl=50 time=37.5 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=50 time=46.3 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=50 time=43.6 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=50 time=36.7 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3419ms
PING pu.bl.ic.166 (pu.bl.ic.166) 56(84) bytes of data. # IP openvpn клиента
64 bytes from pu.bl.ic.166: icmp_seq=1 ttl=128 time=0.871 ms
64 bytes from pu.bl.ic.166: icmp_seq=2 ttl=128 time=0.834 ms
64 bytes from pu.bl.ic.166: icmp_seq=3 ttl=128 time=0.779 ms
64 bytes from pu.bl.ic.166: icmp_seq=4 ttl=128 time=0.756 ms
^C
--- pu.bl.ic.166 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3387ms
PING pu.bl.ic.161 (pu.bl.ic.161) 56(84) bytes of data. # IP openvpn сервера
64 bytes from pu.bl.ic.161: icmp_seq=1 ttl=64 time=0.030 ms
64 bytes from pu.bl.ic.161: icmp_seq=2 ttl=64 time=0.012 ms
64 bytes from pu.bl.ic.161: icmp_seq=3 ttl=64 time=0.008 ms
64 bytes from pu.bl.ic.161: icmp_seq=4 ttl=64 time=0.008 ms
^C
--- pu.bl.ic.161 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3462ms
PING pu.bl.ic.162 (pu.bl.ic.162) 56(84) bytes of data. # IP соединения P-t-P
^C
--- pu.bl.ic.162 ping statistics ---
15 packets transmitted, 0 received, 100% packet loss, time 14668ms
============================================================================
ping с клиента.
Pinging pu.bl.ic.166 with 32 bytes of data: # IP своего интерфейса openvpn
Reply from pu.bl.ic.166: bytes=32 time<1ms TTL=128
Reply from pu.bl.ic.166: bytes=32 time<1ms TTL=128
Reply from pu.bl.ic.166: bytes=32 time<1ms TTL=128
Reply from pu.bl.ic.166: bytes=32 time<1ms TTL=128
Ping statistics for pu.bl.ic.166:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Pinging pu.bl.ic.161 with 32 bytes of data: # IP интерфейса openvpn сервера
Reply from pu.bl.ic.161: bytes=32 time<1ms TTL=64
Reply from pu.bl.ic.161: bytes=32 time<1ms TTL=64
Reply from pu.bl.ic.161: bytes=32 time<1ms TTL=64
Reply from pu.bl.ic.161: bytes=32 time<1ms TTL=64
Ping statistics for pu.bl.ic.161:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Pinging pu.bl.ic.165 with 32 bytes of data: # IP своего P-t-P шлюза !!!!!!!!!!!!!!!!
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for pu.bl.ic.165:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)
Pinging pu.bl.ic.126 with 32 bytes of data: # IP физического интерфейса сервера
Reply from pu.bl.ic.126: bytes=32 time<1ms TTL=64
Reply from pu.bl.ic.126: bytes=32 time<1ms TTL=64
Reply from pu.bl.ic.126: bytes=32 time<1ms TTL=64
Reply from pu.bl.ic.126: bytes=32 time<1ms TTL=64
Ping statistics for pu.bl.ic.126:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Pinging 8.8.8.8 with 32 bytes of data: # публичная сеть
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 8.8.8.8:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)
Вроде, всю нужную информацию дал. Пожалуйста, подскажите, если кто вкурсе.
Заранее благодарен!