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

Нет ответа SYN / ACK от сервера

Сначала я описываю организацию своей локальной сети. У меня 2 Сети (схема http://take.ms/s3CSy):

  1. 192.168.0.0 / 255.255.255.0, маршрутизатор ASUS RT-N65U с внутренним IP 192.168.0.1, статический внешний IP без NAT: 1.2.3.4. Маршрутизатор с сервером VPN PPTP, диапазон IP-адресов VPN LAN 172.16.0.0/255.255.255.0, IP-адрес VPN-сервера 172.16.0.1, MTU / MRU 1300. Мой ноутбук (ноутбук №1) сейчас в этой сети.
  2. 192.168.2.0 / 255.255.255.0, маршрутизатор ZyXEL Keenetic 4G с внутренним IP 192.168.2.1, динамический внешний IP с NAT: 10.0.0.1. Все клиенты подключились к коммутатору Cisco sg200-26p.

Во второй локальной сети у меня есть веб-сервер с установленным Debian Linux и клиентом PPTP VPN. Клиент PPTP подключился к маршрутизатору в первой локальной сети и получил IP 172.16.0.11. Сразу после подключения клиента pptp добавьте два маршрута:

ip route add 172.16.0.0/24 dev ppp0
ip route add 192.168.0.0/24 dev ppp0

Итак, таблица маршрутов на VPN-клиенте (веб-сервере):

root@system:~# ip route
default via 192.168.2.1 dev eth0 
1.2.3.4 via 192.168.2.1 dev eth0  src 192.168.2.3 
172.16.0.0/24 dev ppp0  scope link 
172.16.0.1 dev ppp0  proto kernel  scope link  src 172.16.0.11
192.168.0.0/24 dev ppp0  scope link 
192.168.2.0/24 dev eth0  proto kernel  scope link  src 192.168.2.3 

На веб-сервере "iptables -L -v -n" показывает пустую таблицу.

Таблица маршрутизации на VPN-сервере (роутер ASUS RT-N65U):

/home/root # ip route
default via 2.3.4.5 dev ppp0 
2.3.4.5 dev ppp0  proto kernel  scope link  src 1.2.3.4 
127.0.0.0/8 dev lo  scope link 
172.16.0.12 dev ppp10  proto kernel  scope link  src 172.16.0.1 
192.168.0.0/24 dev br0  proto kernel  scope link  src 192.168.0.1 
192.168.2.0/24 dev ppp10  scope link 

На роутере ASUS RT-N65U у меня также активирован DynDNS, домен home.example.com; и 2 настройки переадресации портов:

1. Synology NAS web remote access: Remote port 6667, local IP: 192.168.0.2, local port 5000, Protocol BOTH (TCP & UDP)
2. Web server remote access: Remote port 6668, local IP: 192.168.2.3, local port 80, Protocol BOTH (TCP & UDP)

Когда я пытаюсь получить доступ к веб-серверу (URL http _ // 192.168.2.3:80) с моего ноутбука в первой локальной сети - нет проблем, все работает как шарм.

Но если я попытаюсь получить доступ с другого ноутбука (ноутбук №2 на схеме) к веб-серверу (URL http _ // 1.2.3.4:6668) - страница не найдена. Если я попытаюсь получить доступ к Synology - никаких проблем.

Я установил tcpdump на веб-сервер и перехватил пакеты:

  1. Доступ с ноутбука в первую сеть, вроде все хорошо. Файл PCAP https _ // www.dropbox.com/s/pvg5rd4rw5omz9z/fromlan.pcap?dl=0 (замените _ на :)
  2. Доступ с удаленного хоста. Я вижу, что мой веб-сервер получает SYN-пакеты, но не отправляет ACK-пакеты обратно клиенту. Файл PCAP https _ // www.dropbox.com/s/hxfxudtrre12i7s/fromremote.pcap?dl=0 (замените _ на :)

На веб-сервере установлен iptstate, показывающий подключение с удаленного сервера:

Source                      Destination                Prt State         TTL
199.58.86.207:58540         192.168.2.3:80             tcp SYN_RECV      0:00:59

В чем проблема?

Может быть, здесь проблема с маршрутом, пакеты с удаленного сервера приходят по маршруту VPN-соединения, но исходящие по умолчанию (через 192.168.2.1) маршрут?

Проблема была в маршруте на веб-сервере:

Для тестирования добавлен маршрут к 199.58.86.0/24 через интерфейс ppp0, и страница открылась успешно.