Не удалось подключиться к порту 127.0.0.1 80

13

У меня работает сервер 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 / hosts :

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 закрыт , но как это возможно, если сервер nginx работает на порту 80?

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.

Аль Че
источник
ваши петлевые интерфейсы работают?
c4f4t0r
c4f4t0r, да, все в порядке, я добавил вывод ifconfig выше.
Аль Че
Выходные данные для других iptablesтаблиц, пожалуйста (т.е. iptables -t nat -nvLи iptables -t mangle -nVL)
roaima

Ответы:

11

Ничто не блокирует порт 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

Удалите эти правила, чтобы решить проблему.

Майкл Хэмптон
источник
Как убрать правила?
Мухаммед Вахид