Назад | Перейти на главную страницу

Локальный сервер Linux недоступен извне во время исходящего соединения OpenVPN

У меня есть сервер Debian Linux, который я использую для хранения файлов. Он находится в локальной сети с настроенной переадресацией портов в маршрутизаторе (openwrt). Иногда я подключаю сервер к серверу OpenVPN по разным причинам, скачивая файлы, доступные только в определенных регионах.

Я могу получить к нему доступ из-за пределов сети, используя SSH, но как только я подключаю сервер к OpenVPN, все запросы, поступающие со стороны WAN, истекают. Машины из локальной сети могут без проблем получить доступ к серверу.

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

Я пытался понять, что происходит, запустив tcpdump как на сервере, так и на маршрутизаторе (все интерфейсы), используя приведенную ниже команду, но я все еще не могу найти запрос, время ожидания которого истекает в полученном файле ...

tcpdump -i any -v -w capture.cap

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

Так что я немного растерялся, я не понимаю, что здесь происходит. Любые идеи?

Изменить: вывод netstat -r, предложенный Esa:

root@server1:~# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         10.10.31.1      128.0.0.0       UG        0 0          0 tun0
default         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
10.10.31.0      *               255.255.255.192 U         0 0          0 tun0
amalthea.anonin 192.168.1.1     255.255.255.255 UGH       0 0          0 eth0
128.0.0.0       10.10.31.1      128.0.0.0       UG        0 0          0 tun0
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0

По умолчанию, когда клиент OpenVPN активен, только сетевой трафик к и от сайта сервера OpenVPN будет проходить через VPN, то есть у вас есть только новые маршруты к подсетям на удаленной стороне, в то время как шлюз по умолчанию остается местным.

Если весь трафик проходит через VPN, они могут быть в файле конфигурации вашего сервера:

push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"

Удалить их.

tcpdump не лучший способ исследовать это. Вместо этого изучите свой таблица маршрутизации с участием netstat -r. Посмотрите на пункт назначения default / 0.0.0.0. Это не должно быть шлюзом вашей VPN. В противном случае это просто вызовет проблему, с которой вы столкнулись.