포트 80에서 들어오는 트래픽이 작동하지 않습니다.

포트 80에서 들어오는 트래픽이 작동하지 않습니다.

아치 리눅스 설치에 아파치 서버를 설정하려고 합니다. 기기에는 공용 IP 주소를 사용한 이더넷 연결이 있습니다. 외부 컴퓨터에서 여러 번 연결을 시도했지만 작동하지 않았습니다. 그런 다음 Apache에서 SSL을 설정하고 연결할 수 있었습니다.

테스트를 위해 다음을 사용하여 간단한 http 서버를 시작할 때

$ sudo python3 -m http.server <port_here> --bind <public_ip_here> 

다른 컴퓨터에서 정상적으로 모든 포트에 연결할 수 있습니다와는 별개로80. 그건 안 돼요. 포트 443에서도 작동합니다.

포트 80이 차단되는 이유와 이 문제를 해결하는 방법을 알고 싶습니다.

답변1

다음 명령을 실행하여 트래픽이 실제로 시스템에 들어오고 있는지 확인할 수 있습니다.

# iptables -I INPUT -p TCP --dport 80 -j LOG
# iptables -I INPUT -p TCP --dport 80 -j ACCEPT

-j LOG일치하는 트래픽의 기록은 메시지 로그로 전송되지만 방화벽은 계속해서 규칙을 처리합니다 . 두 번째 규칙은 ACCEPT모든 포트 80 트래픽에 대해 명시적인 규칙을 설정합니다. 이렇게 하면 방화벽의 병목 현상이 제거됩니다. 패킷 카운터(출력 왼쪽에 있는 두 개의 숫자 열 iptables -nvL)가 올라가면 규칙이 일치한다는 것을 알 수 있으며 메시지를 보고 트래픽이 들어오는 방식에 비정상적인 것이 있는지 확인할 수 있습니다(예: NAT, 등.).

netstat -tlpn또는 실행하여 lsof -i tcp:80데몬이 현재 네트워크에 연결할 수 있는 IP를 수신하고 있는지 확인할 수도 있습니다 . 예를 들어:

[root@xxx01 ~]# lsof -i tcp:42499
COMMAND   PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
ruby    12659 puppet   10u  IPv4 37071710      0t0  TCP localhost:42499 (LISTEN)

포트 42499에서 수신 대기하고 127.0.0.1( )에 바인딩하는 Ruby 스크립트가 있으므로 localhost:42499공용 IP 주소를 지정하는 모든 항목이 이 데몬에 도달하지 않음을 나타냅니다. 비교:

[root@xxx01 ~]# lsof -Pi tcp:80 | head -3
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd    2247   root    4u  IPv6  12264      0t0  TCP *:80 (LISTEN)
httpd    7376 apache    4u  IPv6  12264      0t0  TCP *:80 (LISTEN)

별표는 사용 가능한 모든 IP 주소(네트워크에 연결할 수 있는 IP 주소 포함)를 수신하고 있음을 의미합니다.

답변2

tcpdump포트 80에 트래픽이 도착하는지 확인하기 위해 컴퓨터에서 다음을 시도해 볼 수 있습니다 .

sudo tcpdump port 80

(없으시면 pacman -S tcpdump:)

외부 컴퓨터에서 연결을 시도합니다.

이 외에도 로컬 포트 ​​80 연결을 차단하는 iptables 규칙이 있는지 확인할 수 있습니다. 다음 명령이 무엇이든 출력하는 경우 거부 또는 삭제 작업인지 분석합니다. sudo iptables-save | grep 80...또는 전체 iptables 규칙을 분석합니다.sudo iptables-save

  • 또 다른 시도는 명령이 공용 IP 주소 대신 0.0.0.0 주소를 수신하도록 강제하는 것입니다.

추신: 일부 공급자는 고객이 웹 사이트를 호스팅하거나 공격을 완화하기 위해 "시도"하는 것을 허용하지 않기 위해 포트 80을 차단한다는 점을 명심하십시오.

답변3

라우터의 포트를 차단할 수 있는 방화벽이 있는지 확인하세요. 또한 iptables를 확인해보세요.

iptables -I INPUT -p TCP --dport 80 -j ACCEPT

관련 정보