Я установил сеть в офисе своей студии с Raspberry Pi, который служит VPN-сервером для удаленных клиентов для доступа к ресурсам локальной сети.
Порт маршрутизатора перенаправляет порт 1194 на RPi, поэтому он доступен из Интернета.
Через некоторое время я успешно настроил OpenVPN с Shorewall, чтобы предоставить VPN-клиентам доступ к выбранным серверам локальной сети. Но по какой-то причине клиенты VPN вообще не могут получить доступ к Интернету.
Вот моя настройка Shorewall:
Я установил свои три зоны в зоны, интерфейсы и хозяин файлы.
зоны
#ZONE TYPE
fw firewall
net ipv4
loc:net ipv4
vpn ipv4
интерфейсы
#ZONE INTERFACE OPTIONS
net eth0 dhcp,tcpflags,nosmurfs,routefilter,logmartians,sourceroute=0
vpn tun0
хозяева
#ZONE HOSTS
loc eth0:192.168.200.0/24 (LAN subnet)
Есть запись в туннели файл для OpenVPN сервера:
туннели
#TYPE ZONE GATEWAY
openvpnserver net 0.0.0.0/0
Пакеты от VPN к eth0 маскируются, поскольку шлюзом по умолчанию для клиентов LAN является маршрутизатор, а не RPi.
маска
#INTERFACE SOURCE ADDRESS
eth0 10.8.0.0/24 (VPN subnet) 192.168.200.54 (local RPi address)
политика отклоняет соединения от vpn к loc и принимает соединения от vpn к сети. Конкретные подключения от vpn к loc принимаются в правила файл.
Что я пропустил? Почему клиенты VPN не могут получить доступ в Интернет?
Проблема была вовсе не в конфиге Shorewall. На самом деле БЫЛ доступ из VPN в Интернет, но у VPN-клиентов был неправильный адрес DNS-сервера.
В OpenVPN появилась строчка server.conf
push "dhcp-option DNS 192.168.0.1"
Что не имело смысла в данной настройке. Я исправил адрес, и теперь у VPN-клиентов есть доступ к Интернету.