ping обходит шлюз по умолчанию

У меня есть сервер Ubuntu 16.04 в качестве шлюза OpenVPN в моей сети с IP 192.168.10.14, выходящим через tun1

Любой клиент, который использует 192.168.10.14, поскольку их шлюз отправляется через VPN туннель в Интернет. если я использую ipleak.net, каждый клиент имеет IP-адрес конечной точки VPN, а не мой собственный IP

У меня есть настройка UFW на VPN-шлюзе (192.168.10.14), так что если я отключу туннель VPN, тогда любые клиенты больше не может попасть в Интернет, поскольку UFW разрешает только через tun1

. Проблема заключается в том, что если я отключу туннель VPN на 192.168.10.14, тогда все браузеры перестанут работать, и это то, что я хочу. если они ping google.com, ответа нет, чего я хочу. но если они пингуют IP-адрес, скажем, 8.8.8.8, то пинг все еще работает, хотя VPN-шлюз не работает. в результатах ping я получаю

64 bytes from 8.8.8.8: icmp_seq=6 ttl=57 time=19.1 ms From 192.168.10.14: icmp_seq=7 Redirect Host(New nexthop: 192.168.10.1) 64 bytes from 8.8.8.8: icmp_seq=7 ttl=57 time=19.0 ms 64 bytes from 8.8.8.8: icmp_seq=7 ttl=57 time=18.6 ms

, где 192.168.10.1 в nexthop - мой маршрутизатор. Таким образом, ping для ip игнорирует правила брандмауэра в окне VPN, или поле vpn передает его прямо на маршрутизатор по какой-либо причине

есть что-нибудь, что я могу сделать в окне VPN, чтобы остановить это , ИЛИ на клиентах? я бы предпочел на машине VPN os, я не имею (или не могу) настроить клиентов

переадресацию настройки на VPN-поле

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o tun1 -j MASQUERADE # # For IP Forwarding through PIA # iptables -A FORWARD -i eth0 -o tun1 -j ACCEPT iptables -A FORWARD -i tun1 -o eth0 -j ACCEPT

ufw правила в VPN-окне

To Action From -- ------ ---- [ 1] OpenSSH ALLOW IN Anywhere [ 2] Anywhere ALLOW OUT Anywhere on tun1 (out) [ 3] Anywhere ALLOW IN 192.168.10.0/24 [ 4] 1198/udp ALLOW OUT Anywhere (out)

route on vpn box (VPN Tunnel up)

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.6.10.5 128.0.0.0 UG 0 0 0 tun1 0.0.0.0 192.168.10.1 0.0.0.0 UG 0 0 0 eth0 10.6.10.1 10.6.10.5 255.255.255.255 UGH 0 0 0 tun1 10.6.10.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun1 128.0.0.0 10.6.10.5 128.0.0.0 UG 0 0 0 tun1 172.98.67.68 192.168.10.1 255.255.255.255 UGH 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

маршрут в окне VPN (туннель VPN)

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.10.1 0.0.0.0 UG 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

ping из VPN-окно до 8.8.8.8 (туннель VPN)

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. ping: sendmsg: Operation not permitted ping: sendmsg: Operation not permitted

маршрут на клиентской машине

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.10.14 0.0.0.0 UG 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0
задан 23 May 2017 в 14:27

2 ответа

Проблема с «обходом» происходит из-за маршрута по умолчанию в окне VPN. Это необходимо и не может быть удалено, а ip-пересылка по-прежнему включена. Ip forwarding работает на основе интерфейса, а не ip-адреса

Ваш VPN box включен ip 192.168.10.14, и вы можете добавить правило вставки ufw, которое будет запущено, когда туннель не работает.

Добавьте в /etc/network/if-down.d/ некоторый скрипт, чтобы разрезать доступ от клиентов к вашему VPN box

Пример:

sudo nano /etc/network/if-down.d/scriptdown

и поместить содержимое

# Check for specific interface if desired [ "$IFACE" != "tun1" ] || exit 0 # cat access from client sudo ufw insert 1 deny in on eth0 from 192.168.10.0/24 to 192.186.10.14

дать scriptdown привилегия

chmod 755 /etc/network/if-down.d/scriptdown

if-down.d вызывать скрипт под названием scriptdown, когда tun1 идет down и будет отклонять трафик с 192.168.10.0/24 на 192.168.10.14

Для удаления этого правила требуется сценарий, когда tun1 вставлен

Добавьте сценарий /etc/network/if-up.d/, чтобы разрешить доступ с вашего клиента к вашему VPN box

sudo nano /etc/network/if-up.d/scriptup

и поместить content

# Check for specific interface if desired [ "$IFACE" != "tun1" ] || exit 0 # cat access from client sudo ufw delete 1

give scriptup privilege

chmod 755 /etc/network/if-down.d/scriptup

if-up.d выдает скрипт под названием scriptup, когда tun1 идет up и разрешает трафик с 192.168.10.0/24 - 192.168.10.14

Попробуйте

2
ответ дан 18 July 2018 в 12:52

Проблема с «обходом» происходит из-за маршрута по умолчанию в окне VPN. Это необходимо и не может быть удалено, а ip-пересылка по-прежнему включена. Ip forwarding работает на основе интерфейса, а не ip-адреса

Ваш VPN box включен ip 192.168.10.14, и вы можете добавить правило вставки ufw, которое будет запущено, когда туннель не работает.

Добавьте в /etc/network/if-down.d/ некоторый скрипт, чтобы разрезать доступ от клиентов к вашему VPN box

Пример:

sudo nano /etc/network/if-down.d/scriptdown

и поместить содержимое

# Check for specific interface if desired [ "$IFACE" != "tun1" ] || exit 0 # cat access from client sudo ufw insert 1 deny in on eth0 from 192.168.10.0/24 to 192.186.10.14

дать scriptdown привилегия

chmod 755 /etc/network/if-down.d/scriptdown

if-down.d вызывать скрипт под названием scriptdown, когда tun1 идет down и будет отклонять трафик с 192.168.10.0/24 на 192.168.10.14

Для удаления этого правила требуется сценарий, когда tun1 вставлен

Добавьте сценарий /etc/network/if-up.d/, чтобы разрешить доступ с вашего клиента к вашему VPN box

sudo nano /etc/network/if-up.d/scriptup

и поместить content

# Check for specific interface if desired [ "$IFACE" != "tun1" ] || exit 0 # cat access from client sudo ufw delete 1

give scriptup privilege

chmod 755 /etc/network/if-down.d/scriptup

if-up.d выдает скрипт под названием scriptup, когда tun1 идет up и разрешает трафик с 192.168.10.0/24 - 192.168.10.14

Попробуйте

2
ответ дан 24 July 2018 в 20:03

Другие вопросы по тегам:

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