Есть OpenVPN сервер далеко в интернете, к нему подключается клиент, за которым есть сеть ( 192.168.100.0/255.255.255.0 ) эта сеть получает интернет через этот ОпенВПН сервер.
но почему с сервера я не могу пинговать сеть 192.168.100.0 ? например клиент опенВПН имеет внутренний адрес 192.168.100.192
# cat server.confport 1194 #Порт
proto udp #Протокол
dev tun #Название виртуального устройства
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
server 10.10.10.0 255.255.255.0 # vpn subnet
ifconfig-pool-persist ipp.txt # Тут будут храниться ip адреса клиентов
#push "route 192.168.100.0 255.255.255.0" # home
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 4
mute 20
client-to-client
client-config-dir /etc/openvpn/ccd # Тут будут настройки для каждого филиала
route 192.168.100.0 255.255.255.0 # Маршрут от сервера до филиала 1
cat ccd/client1
iroute 192.168.100.0 255.255.255.0
маршрутизацию чуть-чуть правил но, вот примерно так
# ip ro
default via 91.230.211.129 dev eth0
10.10.10.0/24 via 10.10.10.2 dev tun0
10.10.10.2 dev tun0 proto kernel scope link src 10.10.10.1
91.230.211.128/25 dev eth0 proto kernel scope link src 91.230.211.155
192.168.100.0/24 dev tun0 scope link
Далее клиент.
# ifconfigeth0 Link encap:Ethernet HWaddr 00:15:e9:42:12:e7
inet addr:192.168.100.192 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::215:e9ff:fe42:12e7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9529433 errors:0 dropped:0 overruns:0 frame:0
TX packets:14498216 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1069870112 (1.0 GB) TX bytes:4244836235 (4.2 GB)
Interrupt:17 Base address:0xc00
eth1 Link encap:Ethernet HWaddr 00:15:e9:4a:aa:ae
inet addr:195.209.96.36 Bcast:195.209.96.63 Mask:255.255.255.192
inet6 addr: fe80::215:e9ff:fe4a:aaae/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14219418 errors:0 dropped:0 overruns:0 frame:0
TX packets:9328431 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4058530661 (4.0 GB) TX bytes:1339978921 (1.3 GB)
Interrupt:21
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:31009 errors:0 dropped:0 overruns:0 frame:0
TX packets:31009 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10254502 (10.2 MB) TX bytes:10254502 (10.2 MB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.10.10.6 P-t-P:10.10.10.5 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:3334189 errors:0 dropped:0 overruns:0 frame:0
TX packets:3852969 errors:0 dropped:8986 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:437725017 (437.7 MB) TX bytes:557979603 (557.9 MB)
#cat /etc/openvpn/client.conf
remote 91.211.211.155 1194
client
dev tun
proto udp
resolv-retry infinite # this is necessary for DynDNS
nobind
user nobody
group nogroup
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/proxy.crt
key /etc/openvpn/proxy.key
comp-lzo
verb 4
mute 20
redirect-gateway
verb 4
#ip ro
10.10.10.5 dev tun0 proto kernel scope link src 10.10.10.6
91.211.211.155 via 195.209.96.1 dev eth1
195.209.96.0/26 dev eth1 proto kernel scope link src 195.209.96.36
192.168.100.0/24 dev eth0 proto kernel scope link src 192.168.100.192
10.10.10.0/24 via 10.10.10.5 dev tun0
default via 10.10.10.5 dev tun0
iptables на Сервере
-A POSTROUTING -s 192.168.0.0/16 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.10.0.0/16 -j MASQUERADE
На клиенте
-A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE
При том как я понимаю если подключится за вторым клиентмо ещё одна сеть 192.168.Х.0 то эти сети друг друга видят.
у меня так работает одна организация собственно я писал эту статью когда-то давно
habrahabr.ru/post/100932
а вот как научить сервер видеть тех кто за клиентом не пойму :(