LINUX.ORG.RU
ФорумAdmin

Отключить доступ в Интернет с локальной сети, если ВПН недоступен - помогите составить правила маршрутизации

 , ,


1

1

Есть настроенное подключение к OpenVPN серверу, нужно сделать так чтоб когда обрывается связь с ВПН сервером то с локальной сети не было доступа в Интернет.

На клиенте OpenVPN есть два Ethernet, один смотрит к провайдеру(eth0), а второй в локальную сеть(eth1).

Для того чтоб был доступ в Интернет на клиенте пробрасывается траффик:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.33/24 -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j ACCEPT

В локально сети IP шлюза 10.10.10.1 (eth1)
С выключенным OpenVPN таблица маршрутизации:

root@client:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
37.1.X.X        192.168.0.1     255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

после того как запускается OpenVPN клиент:
root@client:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
37.1.X.X        192.168.0.1     255.255.255.255 UGH   0      0        0 eth0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         10.8.0.5        128.0.0.0       UG    0      0        0 tun0
128.0.0.0       10.8.0.5        128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

Когда подключен к ВПН
root@client:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:19:b9:0b:96:10
          inet addr:192.168.0.36  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::219:b9ff:fe0b:9610/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:34963 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27939 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:30436655 (29.0 MiB)  TX bytes:9508443 (9.0 MiB)
          Interrupt:16

eth1      Link encap:Ethernet  HWaddr 00:0f:3d:ec:bb:0d
          inet addr:10.10.10.1  Bcast:10.10.10.255  Mask:255.255.255.0
          inet6 addr: fe80::20f:3dff:feec:bb0d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28689 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34934 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7792305 (7.4 MiB)  TX bytes:28054993 (26.7 MiB)
          Interrupt:16 Base address:0xdc00

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:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1060 (1.0 KiB)  TX bytes:1060 (1.0 KiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.6  P-t-P:10.8.0.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:9421 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8115 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:6765067 (6.4 MiB)  TX bytes:2122497 (2.0 MiB)

Как сделать чтоб, если обравается связь с ВПН, то локальная сеть оставалсь без Интернет и при этом можно было удаленно подключиться к ПК при условии что на eth0 будет белый IP?



Последнее исправление: cetjs2 (всего исправлений: 1)

фаерволлом закрой

iptables -P FORWARD DROP
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -j ACCEPT

anonymous
()

Убрать default route на провайдера (я так понимаю, default via 192.168.0.1), добавить маршрут до vpn-сервера (10.8.0.5/32 via 192.168.0.1).

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