데비안은 localhost에서 로컬 데몬에 연결할 수 없습니다

데비안은 localhost에서 로컬 데몬에 연결할 수 없습니다

간단히 말하면 긴 이야기입니다.

Apache2는 0.0.0.0:80에서 실행됩니다.

Mysqld는 0.0.0.0:3306에서 실행됩니다.

이러한 포트는 로컬 호스트에서는 액세스할 수 없지만 원격 호스트에서는 액세스할 수 있습니다.

원격 호스트(노트북)에서

MacBook-Pro:~ codemaster$ telnet 192.168.0.10 3306
Trying 192.168.0.10...
Connected to 192.168.0.10.
Escape character is '^]'.
T
5.5.40-0+wheezy1/QmQ,%uA?0b|m+.BDn|G*mysql_native_password^CConnection closed by foreign host.
MacBook-Pro:~ codemaster$ telnet 192.168.0.10 80
Trying 192.168.0.10...
Connected to 192.168.0.10.
Escape character is '^]'.

로컬호스트(192.168.0.10)에서

root@udoo-debian-hfp:/# uname -a
Linux udoo-debian-hfp 3.0.35 #1 SMP PREEMPT Mon Mar 3 15:17:07 CET 2014 armv7l GNU/Linux
root@udoo-debian-hfp:/# netstat -a -n -p|grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      21469/mysqld    
root@udoo-debian-hfp:/# netstat -a -n -p|grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3614/apache2    
unix  3      [ ]         STREAM     CONNECTED     3880     3763/dbus-daemon    

root@udoo-debian-hfp:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:c0:08:88:a1:1c  
          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6781 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4389 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:956650 (934.2 KiB)  TX bytes:644410 (629.3 KiB)

usb0      Link encap:Ethernet  HWaddr 7e:82:37:77:b9:01  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 7c:dd:90:3a:4a:a6  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

몇 가지 옵션을 시도했지만 "연결 시도"에서 멈췄습니다.

root@udoo-debian-hfp:/# telnet 192.168.0.10 80
Trying 192.168.0.10...
^C
root@udoo-debian-hfp:/# telnet 192.168.0.10 3306
Trying 192.168.0.10...
^C
root@udoo-debian-hfp:/# telnet 127.0.0.1 3306
Trying 127.0.0.1...
^C
root@udoo-debian-hfp:/# telnet 127.0.0.1 80
Trying 127.0.0.1...
^C

IP 테이블 없음

root@udoo-debian-hfp:/# iptables -L
FATAL: Module ip_tables not found.
iptables v1.4.14: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

이전에는 이와 같은 현상이 발생하지 않았습니다. iptables가 차단되거나 데몬이 로컬 인터페이스에 바인딩되어 있지만 로컬에서 로컬로?

답변1

루프백 인터페이스가 시작되지 않은 것 같습니다. 한 호스트에서 동일한 호스트로 통신하려면 루프백 인터페이스(IPv4 127.0.0.1/8, IPv6::1/128)가 필요합니다.

데비안에서 루프백 인터페이스는 일반적으로 부팅 시 열리고 다음과 같이 구성됩니다 /etc/network/interfaces.

auto lo
iface lo inet loopback

루프백 인터페이스가 올바르게 표시되지 않는 이유를 모르겠지만 ifup lo(관리됨, 선호됨) 또는 ip link set lo up(관리되지 않음)을 시도하고 위 줄이 /etc/network/interfaces.

관련 정보