
나는 달리고 있다nginx서버(어떤 서버인지는 중요하지 않음):
$ sudo netstat -tulpn | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4268/nginx
tcp6 0 0 :::80 :::* LISTEN 4268/nginx
그런 다음 127.0.0.1에 요청을 보냈습니다.
$ curl -v 127.0.0.1
* Rebuilt URL to: 127.0.0.1/
* Hostname was NOT found in DNS cache
* Trying 127.0.0.1...
* connect to 127.0.0.1 port 80 failed: Connection refused
* Failed to connect to 127.0.0.1 port 80: Connection refused
* Closing connection 0
curl: (7) Failed to connect to 127.0.0.1 port 80: Connection refused
$ telnet localhost 80
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
괜찮아/etc/호스트:
127.0.1.1 ubuntu-work
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
iptables장애가 있는 $ sudo iptables -L
:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
127번 주소라면 어디든 연결할 수 있다는 점이 흥미롭습니다...* 127.0.0.1(localhost) 제외. 또한 내 서브넷 IP 주소 10.0.2.15에도 연결할 수 있습니다. 그리고 서버 구성에서 포트 80을 다른 포트(예: Listen 88)로 변경하면 작동합니다.
시험해보고 $ sudo nmap -sS 127.0.0.1 -p 80
정보를 얻었습니다 -80/tcp 닫힘, 하지만 포트 80에서 nginx 서버를 실행하는 경우 어떻게 가능합니까?
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00011s latency).
PORT STATE SERVICE
80/tcp closed http
Nmap done: 1 IP address (1 host up) scanned in 1.12 seconds
루프백 인터페이스가 작동 중입니다. $ ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:86:5f:e3
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe86:5fe3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:588 errors:0 dropped:0 overruns:0 frame:0
TX packets:616 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:262986 (262.9 KB) TX bytes:103011 (103.0 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:276 errors:0 dropped:0 overruns:0 frame:0
TX packets:276 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:32750 (32.7 KB) TX bytes:32750 (32.7 KB)
다른 iptables 테이블
출력 $ sudo iptables -t nat -nvL
:
Chain PREROUTING (policy ACCEPT 1 packets, 40 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 20559
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 redir ports 20558
Chain INPUT (policy ACCEPT 1 packets, 40 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1043 packets, 65731 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- * * 0.0.0.0/0 127.0.0.1 tcp dpt:80 redir ports 20559
0 0 REDIRECT tcp -- * * 0.0.0.0/0 127.0.0.1 tcp dpt:443 redir ports 20558
Chain POSTROUTING (policy ACCEPT 1043 packets, 65731 bytes)
pkts bytes target prot opt in out source destination
나는 어떤 출력도 얻지 못했고 sudo iptables -t mangle -nVL
버전만 얻었습니다:iptables v1.4.21
출력sudo iptables -t mangle -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
localhost:80을 차단하는 방법에 대한 아이디어가 있으면 도움을 주세요.
답변1
포트 80을 차단하는 것은 없습니다. 해당 포트에 대한 연결을 열려 있지 않은 다른 포트로 리디렉션하는 방화벽 NAT 규칙이 있습니다.
Chain PREROUTING (policy ACCEPT 1 packets, 40 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 20559
0 0 REDIRECT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 redir ports 20558
Chain OUTPUT (policy ACCEPT 1043 packets, 65731 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT tcp -- * * 0.0.0.0/0 127.0.0.1 tcp dpt:80 redir ports 20559
0 0 REDIRECT tcp -- * * 0.0.0.0/0 127.0.0.1 tcp dpt:443 redir ports 20558
문제를 해결하려면 이러한 규칙을 제거하십시오.