У меня есть сервер 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
Проблема с «обходом» происходит из-за маршрута по умолчанию в окне 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
Попробуйте
Проблема с «обходом» происходит из-за маршрута по умолчанию в окне 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
Попробуйте