Исключая некоторые сетевые службы от VPN

Мой локальный сервер Linux подключен к Интернету через маршрутизатор. Маршрутизатор (192.168.0.1) делает NAT от ISP присвоенный IP-адрес (который время от времени изменяется) к локальному IP сервера (192.168.0.102).

Когда подключения сервера к VPN (PrivateInternetAccess) и tun0 адаптер запускаются (с другим IP каждый раз), ко всем переданным сервисам (как веб-сервер) больше нельзя получать доступ из внешних сетей.

Как я могу настроить сервер, чтобы услышать и ответить на http (s), ssh (работа нестандартного порта) и запросы ftp, в то время как VPN работает. Для меня не имеет значения, проходит ли тот определенный трафик VPN пока все другие, трафик делает.

0
задан 10 March 2015 в 23:34
2 ответа

Вам нужно посмотреть таблицы маршрутизации и увидеть, какие IP-адреса назначения маршрутизируются через вашу VPN:

ip route

Весь ваш трафик, вероятно, маршрутизируется через VPN (за исключением адресов LAN и конечной точки VPN). Это означает, что пакеты ваших сервисов маршрутизируются через VPN (с вашими локальными и частными IP-адресами). Эти пакеты отбрасываются где-то в удаленной сети (возможно, в конечной точке VPN), потому что:

  • они (вероятно) не используют удаленные сетевые адреса;

  • они являются частными (немаршрутизируемыми) адресами;

  • даже если бы они не были отфильтрованы (и использовался NAT), они были бы преобразованы в NAT для IP-адресов удаленной сети.

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

Вы можете сделать что-то вроде этого. для принудительного прохождения пакетов, использующих ваш локальный IP в качестве адреса отправителя, через локальный шлюз:

# Your IP address:
ip rule add from 192.168.0.42 table 42
ip route add default via 192.168.0.1 table 42

Это должно работать для служб TCP. У вас могут возникнуть проблемы с сервисами UDP, которые могут отвечать вашим VPN-адресом на запросы, сделанные с вашего локального IP-адреса: в этом случаевы, вероятно, можете использовать iptables, чтобы либо переписать исходный IP-адрес пакетов, либо пометить их ( -j MARK --set-mark 42 и fwmark 42 ) на основе порта UDP.

1
ответ дан 4 December 2019 в 13:51

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

.
1
ответ дан 4 December 2019 в 13:51

Теги

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