Nird_o
@Nird_o
Побил рекорд по количеству прожитых мной дней

Как настроить доступ в локальную сеть через OpenVPN с tun?

Доброго дня.
Бьюсь уже неделю. Вопрос этот обсуждался не раз, но почему-то ни одно решение не работает.

Имеется сеть локальная на интерфейсе enp2s0 192.168.127.0
OpenVPN настроен и к нему клиенты подключаются. Сеть VPN 10.8.0.0
Но клиент может пингануть только 192.168.127.89 - внутренний IP сервера ovpn, дальше в сеть пинги не ходят.

Конфиг OpenVPN:
cat /etc/openvpn/server.conf
;local a.b.c.d
port 11194
proto tcp
;proto udp
;dev tap
dev tun
;dev-node MyTap
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
;server-bridge
;server-bridge 10.8.0.0 255.255.255.0
;push "redirect-gateway def1 bypass-dhcp"
;push "route 10.8.0.0 255.255.255.0"
push "route 192.168.127.0 255.255.255.0"
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
;learn-address ./script
;push "redirect-gateway def1 bypass-dhcp"
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"
;client-to-client
;duplicate-cn
keepalive 10 120
# on the server and '1' on the clients.
tls-auth ta.key 0 # This file is secret
key-direction 0
cipher AES-256-CBC
auth SHA256
;compress lz4-v2
;push "compress lz4-v2"
;comp-lzo
;max-clients 100
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
;log         openvpn.log
;log-append  openvpn.log
verb 3
;mute 20
explicit-exit-notify 0


Конфиг клиента:
client
;dev tap
dev tun
;dev-node MyTap
proto tcp
;proto udp
remote xxx.xxx.xxx.xxx 11194
;remote-random
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]
;mute-replay-warnings

remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
auth SHA256
key-direction 1
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
verb 3
;mute 20


Маршруты клиента при подключенном VPN
Код: [Выделить]

ip ro li
default via 192.168.0.1 dev enp2s13 proto static metric 100 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.4 
169.254.0.0/16 dev enp2s13 scope link metric 1000 
xxx.xxx.xxx.xxx via 192.168.0.1 dev enp2s13 
192.168.0.0/24 dev enp2s13 proto kernel scope link src 192.168.0.71 metric 100 
192.168.127.0/24 via 10.8.0.1 dev tun0


Маршруты сервера при подключенном VPN
ip ro li
default via 212.48.195.118 dev ppp0 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1 
192.168.1.0/24 dev enp1s0 proto kernel scope link src 192.168.1.2 
192.168.127.0/24 dev enp2s0 proto kernel scope link src 192.168.127.89 
212.48.195.118 dev ppp0 proto kernel scope link src xxx.xxx.xxx.xxx


Правила файервола
# Generated by iptables-save v1.6.0 on Tue Mar 26 16:48:58 2019
*filter
:INPUT DROP [236:11906]
:FORWARD ACCEPT [1041:69425]
:OUTPUT ACCEPT [253288:161677613]
:f2b-sshd - [0:0]
:f2b-sshd-ddos - [0:0]
-A INPUT -p tcp -m multiport --dports 10022 -j f2b-sshd-ddos
-A INPUT -p tcp -m multiport --dports 10022 -j f2b-sshd
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10022 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 11194 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10022 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i enp2s0 -p tcp -m tcp --dport 3129 -j ACCEPT
-A INPUT -i enp2s0 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -i enp2s0 -j ACCEPT
-A INPUT -i tun0 -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -d 192.168.127.0/24 -i tun0 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A f2b-sshd -j RETURN
-A f2b-sshd-ddos -j RETURN
COMMIT
# Completed on Tue Mar 26 16:48:58 2019
# Generated by iptables-save v1.6.0 on Tue Mar 26 16:48:58 2019
*nat
:PREROUTING ACCEPT [2570:185461]
:INPUT ACCEPT [9217:504581]
:OUTPUT ACCEPT [3900:256485]
:POSTROUTING ACCEPT [3976:260537]
-A PREROUTING -s 192.168.127.0/24 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3129
-A PREROUTING -s 192.168.127.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.127.160
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 3388 -j DNAT --to-destination 192.168.127.81:3389
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 1723 -j DNAT --to-destination 192.168.127.160
-A PREROUTING -i ppp0 -p gre -j DNAT --to-destination 192.168.127.160
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 5650 -j DNAT --to-destination 192.168.127.160
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 15650 -j DNAT --to-destination 192.168.127.160
-A POSTROUTING -s 10.8.0.0/24 -o enp2s0 -j MASQUERADE
-A POSTROUTING -s 192.168.127.0/24 -o ppp0 -j MASQUERADE
-A POSTROUTING -s 192.168.127.0/24 -o enp1s1 -j MASQUERADE
COMMIT
# Completed on Tue Mar 26 16:48:58 2019
# Generated by iptables-save v1.6.0 on Tue Mar 26 16:48:58 2019
*mangle
:PREROUTING ACCEPT [1688943:1124405045]
:INPUT ACCEPT [1014945:747408567]
:FORWARD ACCEPT [673998:376996478]
:OUTPUT ACCEPT [1106484:693624812]
:POSTROUTING ACCEPT [1780482:1070621294]
-A PREROUTING -s 192.168.127.0/24 -j HMARK --hmark-src-prefix 32 --hmark-rnd 0xfeedcafe --hmark-mod 10 --hmark-offset 10000
COMMIT
# Completed on Tue Mar 26 16:48:58 2019


enp2s0 интерфейс смотрит в локалку
ppp0 в инет
enp1s1 в инет второй канал
xxx.xxx.xxx.xxx внешний IP адрес на интерфейсе ppp0

перепробовал наверное все из предложенного в интернете. По идеи должно работать, но нет.
Если раскоментировать ;push "redirect-gateway def1 bypass-dhcp", то пускает в инетрент через VPN, но к локальной сети не подобраться. Понимаю что, где-то что-то с маршрутизацией не торт, но где?
Спасибо.
  • Вопрос задан
  • 1336 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
Чтоб компы из внутренней сети за ВПН сервером могли отправлять ответы на запросы от ВПН клиентов ВПН сервер должен быть либо шлюзом по умолчанию на них, либо нужно вручную прописывать маршрут до ВПН сети на каждом компе внутренней сети.
Кроме фаервола на самом ВПН сервере блокировать трафик могут фаерволы на компах внутри сети и на ВПН клиенте. Проще всего отключить фарволы везде, проверить отклик, если все заработает, то включать фаерволы и прописывать в них разрешающие правила.
NAT в обмене с ВПН клиентами обычно не нужен!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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