FTP 및 WWW 서비스가 연결을 확인하지 않습니다.

FTP 및 WWW 서비스가 연결을 확인하지 않습니다.

vsftpd 및 램프 스택(apache2 등)과 함께 Lubuntu 14.04 LTS를 설치했습니다. LAN에서는 모든 것이 정상입니다. 외부적으로 서비스는 연결 시도를 승인하지 않습니다. 패킷이 머신에 도착하는 것을 볼 수 있지만 tcpdump-i eth0 -A머신은 해당 ACK를 보내지 않습니다. sudo ufw status"상태: 비활성"을 보고합니다. "iptables"에 어떤 규칙도 구성하지 않았습니다. iptables -L빈 출력이 있습니다.

설상가상으로 기기에 할당된 외부 WAN IP와 네트워크 내부의 호스트 이름을 사용하면 연결이 성공합니다. 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

너무 많은 것을 포기하지 않고 LAN은 클래스 A 개인 10.xxx/22 네트워크입니다. 서버에는 비즈니스 VLAN의 고정 주소가 할당된 NIC가 있습니다. 서버의 다른 NIC에는 DMZ에 개인 클래스 C 192.168.xx/24 고정 주소가 있습니다.

두 내부 주소 모두에 대한 nmap 스캔은 다음과 같이 동일한 출력을 보여줍니다.

Nmap scan report for 192.168.x.x/10.x.x.x
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

답변1

귀하의 서비스는 모든 인터페이스에서 수신 대기하고 있나요? 예를 들어, 다음 명령을 실행하십시오.

# 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 또는 WAN의 IP가 표시되지 않으면 예상한 위치에서 수신하도록 구성되지 않은 것입니다.

답변2

나는 마침내 이것을 알아 냈습니다. 이는 직접적인 방화벽 문제가 아닙니다. LAN용 NIC와 DMZ용 NIC 두 개가 있고 WAN IP가 두 NIC 모두에 NAT로 연결되어 있습니다. 기본 경로는 LAN을 통한 것입니다. 인터넷에서 패킷을 수신하면 서버는 LAN의 기본 경로를 통해 응답을 시도합니다. LAN 연결을 끊으면 서비스가 인터넷을 통해 통신할 수 있습니다.

여전히 전용 LAN 통신이 필요하지만 이에 대해서는 나중에 다루겠습니다.

관련 정보