У меня есть сервер 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. В противном случае это просто вызовет проблему, с которой вы столкнулись.