Услуги FTP и WWW не подтверждают подключения

У меня есть Lubuntu 14.04 LTS с vsftpd и стек ламп (apache2 и т. Д.). Все работает нормально в локальной сети. Внешне службы не подтверждают попытки подключения. Я вижу, как пакеты доходят до машины с помощью tcpdump-i eth0 -A , но машина не отправляет соответствующий ACK. sudo ufw status сообщает о статусе «Статус: неактивен». У меня нет правил, настроенных в «iptables»; iptables -L имеет пустой вывод.

Чтобы сделать ситуацию более запутанной, я могу использовать внешний IP-адрес WAN, назначенный этому компьютеру, и имя хоста внутри сети, и соединения успешны. Чтобы использовать WAN IP и имя хоста извне, я получаю такое же поведение Ubuntu, не отправляя пакеты ACK.

 Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1494/mysqld tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1277/dnsmasq tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 984/vsftpd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 977/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 669/cupsd tcp6 0 0 :::80 :::* LISTEN 2175/apache2 tcp6 0 0 :::22 :::* LISTEN 977/sshd tcp6 0 0 ::1:631 :::* LISTEN 669/cupsd 

Не разглашая слишком много информации, ЛВС представляет собой приватную сеть 10.xxx/22 класса А. Сервер имеет один сетевой адаптер, назначенный статический адрес в бизнес-VLAN. Другой сетевой адаптер сервера имеет частный статический адрес класса C 192.168.xx / 24 в DMZ.

Сканирование nmap обоих внутренних адресов показывает идентичный вывод, показанный ниже:

 Nmap scan report for 192.168.xx/10.xxx Host is up (0.0018s latency). Not shown: 996 closed ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 80/tcp open http 3306/tcp open mysql Nmap done: 1 IP address (1 host up) scanned in 0.36 seconds 

Сканирование внешнего IP-адреса показывает все порты как «отфильтрованные», что означает, что nmap не получил ответ SYN / ACK или ACK.

 Starting Nmap 5.21 ( http://nmap.org ) at 2015-02-10 06:28 UTC Host is up. PORT STATE SERVICE 21/tcp filtered ftp 22/tcp filtered ssh 80/tcp filtered http 3306/tcp filtered mysql 

Ваши службы даже прослушивают все интерфейсы? Отправьте следующую команду, например:

 # netstat -atpn | grep 80 | grep LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2994/httpd 

если он не отображает 0.0.0.0 или IP WAN, тогда он не настроен на прослушивание, где вы его ожидаете.

Я закончил тем, что понял это. Это не было проблемой брандмауэра. У меня две сетевые карты: одна для локальной сети и другая для DMZ, для которой IP-адрес WAN является NAT. По умолчанию маршрут был по локальной сети. При получении пакетов из Интернета сервер пытался ответить по маршруту по умолчанию в локальной сети. Отключение от локальной сети позволило предоставлять услуги для общения через Интернет.

Мне по-прежнему нужна частная локальная связь, но я займусь этим позже.