LINUX.ORG.RU

OpenVPN, как получить доступ к двум локальным сетям, через два интерфейса на сервере?

 ,


0

1

Добрый день! на сервере, где установлен openvpn подключены две локальные сети. enp6s0 - 172.16.116.207/22 - 1 локальная сеть enp7s0 - 192.168.16.3/24 - 2 локальная сеть OpenVpn слушает 192.168.16.0 и клиент может получить доступ к машинам в данной сети Во второй же сети, можно достучаться только до хост машины 172.16.116.207

Хотел получить доступ ко всем серверам во второй локальной сети)

route на сервере

default         _gateway        0.0.0.0         UG    0      0        0 enp7s0
default         _gateway        0.0.0.0         UG    100    0        0 enp6s0
10.8.0.0        10.8.0.2        255.255.255.255 UGH   0      0        0 tun0
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
172.16.116.0    10.8.0.2        255.255.255.255 UGH   0      0        0 tun0
172.16.116.0    0.0.0.0         255.255.252.0   U     0      0        0 enp6s0
_gateway        0.0.0.0         255.255.255.255 UH    100    0        0 enp6s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.16.0    0.0.0.0         255.255.255.0   U     0      0        0 enp7s0

На клиенте

0.0.0.0         10.8.0.1        128.0.0.0       UG    0      0        0 tun0
default         192.168.123.1   0.0.0.0         UG    100    0        0 enp3s0
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
91.238.231.83   192.168.123.1   255.255.255.255 UGH   0      0        0 enp3s0
128.0.0.0       10.8.0.1        128.0.0.0       UG    0      0        0 tun0
172.16.116.0    10.8.0.1        255.255.252.0   UG    0      0        0 tun0
192.168.123.0   0.0.0.0         255.255.255.0   U     100    0        0 enp3s0

Сам server.conf

port 5543
proto tcp
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.255.0
client-to-client
push "route 10.8.0.0 255.255.255.0"
push "route 172.16.116.0 255.255.252.0"
route "10.8.0.0 255.255.255.0"
route "172.16.116.0 255.255.252.0"
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 1.0.0.1"
push "dhcp-option DNS 1.1.1.1"
push "redirect-gateway def1 bypass-dhcp"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key 0
crl-verify crl.pem
ca ca.crt
cert server_F83Sk5qKWpZKL5Xb.crt
key server_F83Sk5qKWpZKL5Xb.key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
status /var/log/openvpn/status.log
verb 3

Ответ на: комментарий от eljaja

iptables -I FORWARD -s 172.16.116.0/22 -d 10.8.0.0/24 -i eth1 -o tun0 -j ACCEPT

iptables -I FORWARD -s 10.8.0.0/24 -d 172.16.116.0/22 -i tun0 -o enp6s0 -j ACCEPT

iptables -I FORWARD -s 192.168.123.103/24 -d 10.8.0.0/24 -i eth0 -o tun0 -j ACCEPT

iptables -I FORWARD -s 10.8.0.0/24 -d 192.168.123.103/24 -i tun0 -o enp7s0 -j ACCEPT

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERAD

Прописывал это

eljaja
() автор топика
Ответ на: комментарий от Deleted
Chain INPUT (policy ACCEPT 167K packets, 159M bytes)
 pkts bytes target     prot opt in     out     source               destination         
 116K   23M ACCEPT     tcp  --  enp7s0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:5543
  446 35116 ACCEPT     all  --  tun0   *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  tun0   enp7s0  10.8.0.0/24          192.168.123.0/24    
    0     0 ACCEPT     all  --  eth0   tun0    192.168.123.0/24     10.8.0.0/24         
  233 19572 ACCEPT     all  --  tun0   enp6s0  10.8.0.0/24          172.16.116.0/22     
    0     0 ACCEPT     all  --  eth1   tun0    172.16.116.0/22      10.8.0.0/24         
    0     0 ACCEPT     all  --  tun0   eth0    10.8.0.0/24          192.168.123.0/24    
    0     0 ACCEPT     all  --  eth0   tun0    192.168.123.0/24     10.8.0.0/24         
    0     0 ACCEPT     all  --  tun0   eth1    10.8.0.0/24          172.16.116.0/22     
    0     0 ACCEPT     all  --  eth1   tun0    172.16.116.0/22      10.8.0.0/24         
 111K   14M ACCEPT     all  --  tun0   enp7s0  0.0.0.0/0            0.0.0.0/0           
93766   95M ACCEPT     all  --  enp7s0 tun0    0.0.0.0/0            0.0.0.0/0           
eljaja
() автор топика
Ответ на: комментарий от eljaja

Мне для выхода vpn в lan хватает этих правил:
$IPT -A FORWARD -i $VPN -o $LAN1 -j ACCEPT
$IPT -t nat -A POSTROUTING -o $LAN1 -s $VPN_IP_RANGE -j MASQUERADE
$IPT -A FORWARD -i $LAN1 -s $LAN1_IP_RANGE -d $VPN_IP_RANGE -j ACCEPT

Deleted
()
Ответ на: комментарий от Deleted

Спасибо вам огромное!

Вот что помогло мне: iptables -A FORWARD -i tun0 -o enp6s0 -j ACCEPT iptables -t nat -A POSTROUTING -o enp6s0 -s 10.8.0.1-10.8.0.255 -j MASQUERADE

eljaja
() автор топика
Ответ на: комментарий от eljaja

range красивше писать как 10.8.0.0/24

Deleted
()
Ответ на: комментарий от eljaja

У вас дефолтная полиси - в INPUT и FORWARD - ACCEPT, правила в них не имеют смысла.

Deleted
()
Ответ на: комментарий от eljaja

iptables -t nat -A POSTROUTING -o enp6s0 -s 10.8.0.1-10.8.0.255 -j MASQUERADE

Помогла конкретно эта.

И правильно указывать в правилах не диапазон IP, а подсеть (10.8.0.0/24)

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.