У меня возникли проблемы с работой OpenVPN на моем компьютере pfSense. Вопрос довольно странный для меня.

Когда у меня включен OpenVPN, только мой маршрутизатор может подключаться к Интернету. С маршрутизатора я могу использовать ping, ссылки и т.д., И соединения работают точно так, как ожидается - через VPN с IP-адресом, назначенным моим провайдером VPN (Proxy.sh, между прочим).

Однако ни один из клиентов в локальной сети не может подключиться к Интернету. Я получаю тайм-ауты при использовании ping или веб-браузера. Я могу пропинговать мой маршрутизатор и IP-адрес шлюза.

Когда я переключаю шлюз по умолчанию с VPN на шлюз моего провайдера, все работает точно так, как ожидалось.

Вот таблица маршрутизации (netstat -r) в режиме VPN и ключ для нее:

IPv4
Destination     Gateway     Flags   Refs    Use  Mtu     Netif   Expire
0.0.0.0/1       10.XX.X.53  UGS     0       122  1500    ovpnc1  =>
default         10.XX.X.53  UGS     0       235  1500    ovpnc1   
8.8.8.8         10.XX.X.53  UGHS    0       82   1500    ovpnc1   
10.XX.X.1/32    10.11.0.53  UGS     0       0    1500    ovpnc1   
10.XX.X.53      link#12     UH      0       0    1500    ovpnc1   
10.XX.X.54      link#12     UHS     0       0    16384   lo0  
ZZ.XX.XXX.0/20  link#1      U       0       83   1500    re0  
ZZ.XX.XXX.XXX   link#1      UHS     0       0    16384   lo0  
127.0.0.1       link#9      UH      0       12   16384   lo0  
128.0.0.0/1     10.11.0.53  UGS     0       123  1500    ovpnc1   
192.168.1.0/24  link#11     U       0       1434 1500    ue0  
192.168.1.1     link#11     UHS     0       0    16384   lo0  
Y.Y.Y.Y/32      ZZ.XX.XXX.1 UGS     0       249  1500    re0 

IP-адреса

  • 10.XX.X.53/54 - Мой назначенный DHCP IP-адрес / пара от провайдера VPN
  • ZZ.XX.XXX.XXX - мой внешний IP назначен моим провайдером
  • Y.Y.Y.Y - внешний IP, назначенный провайдером VPN

Интерфейсы

  • ovpnc1 - мой интерфейс VPN-клиента
  • re0 - интерфейс моей локальной сети
  • ue0 - мой WAN интерфейс

Это выглядит в основном так, как я ожидал. Маршрут по умолчанию - через провайдера VPN. Адрес VPN направляется через назначенный провайдером IP-адрес. Я не уверен, что здесь будет не так.

Чтобы понять, что это проблема с брандмауэром, я попытался включить весь входящий / исходящий трафик. Это, похоже, не решило проблему.

Кроме того, полагая, что это может быть некоторой проблемой клиентской сети, я перезапустил клиентов в локальной сети. Это не помогло.

Я также запустил route flush и сбросил маршруты вручную.

Поэтому я немного озадачен и буду очень признателен за любые мысли о том, в чем может быть проблема.

2 ответа2

1

Обычно вы должны предоставить инструкцию для пересылки трафика IPv4 из локальной сети на новый интерфейс, который предоставляет VPN, будь то tun0 или tap0.

Я слишком заржавел с pf, чтобы попытаться предложить, как это сделать. С iptables вы бы использовали эту команду:

 iptables --table nat --append POSTROUTING --out-interface tap0/tun0 -j MASQUERADE

Я надеюсь, что это даст толчок в правильном направлении, хотя это не решение проблемы.

0

Чтобы решить эту проблему, я должен был пойти в:

pfSense -> Брандмауэр -> NAT -> Исходящий -> Генерация правила исходящего NAT вручную (AON - Расширенный исходящий NAT)

Оттуда мне пришлось переместить все сопоставления OPT1 наверх (то есть над сопоставлениями WAN).

Обратите внимание, что:

  1. в правилах брандмауэра я должен был установить правило для всего входящего трафика в подсети ЛВС, чтобы он использовал прокси-шлюз. Похоже на это в списке правил pfSense:
IPv4 TCP LAN net * * 80 (HTTP) ProxySHGW none "LAN Subnet to Proxy.sh gateway"
  1. Я оставил шлюз по умолчанию в качестве WAN, но мне пришлось добавить шлюз ProxySHGW, используемый вышеупомянутым правилом.

Я надеюсь, что это поможет кому-то еще на этом пути.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .