@odmin4eg

Openvpn маршрутизация, почему сервер не видит внутренние адреса за клиентом?

Есть OpenVPN сервер далеко в интернете, к нему подключается клиент, за которым есть сеть ( 192.168.100.0/255.255.255.0 ) эта сеть получает интернет через этот ОпенВПН сервер.

но почему с сервера я не могу пинговать сеть 192.168.100.0 ? например клиент опенВПН имеет внутренний адрес 192.168.100.192

# cat server.conf
port 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


Далее клиент.
# ifconfig
eth0      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

а вот как научить сервер видеть тех кто за клиентом не пойму :(
  • Вопрос задан
  • 6977 просмотров
Пригласить эксперта
Ответы на вопрос 2
форвардинг разрешите
Ответ написан
@Power
А у вас только один клиент может быть? Просто если больше одного, то как сервер должен понимать, в какой из туннелей слать трафик для 192.168.100.0/24?
Сейчас, думаю, проблема в том, что вы установили на сервере маршрут для 192.168.100.0/24 напрямую через туннель, а надо через gateway, роль которого должен выполнять клиент, т.е. на сервере должно быть что-то типа
192.168.100.0/24 via 10.10.10.6 dev tun0
Ну и на клиенте, соответственно, разрешить forwarding и сделать маскарад.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы