Ubuntu 서버가 인터넷에 액세스할 수 없습니다. DNS 관련이 나타납니다.

Ubuntu 서버가 인터넷에 액세스할 수 없습니다. DNS 관련이 나타납니다.

이것은 Linode에서 Ubuntu 12.04 LTS를 실행하는 Drupal 웹사이트입니다. 서버는 그냥 웹사이트일 뿐입니다. DNS 서버나 다른 것이 아닙니다.

이것이 내 문제입니다. 모두 DNS 문제와 관련된 것 같습니다. (저는 며칠 동안 Linode로 이 문제를 해결해 왔고,여기에서 iptables에 대한 도움을 받으세요. 이제 나는 이 질문의 문제에 집중할 수 있습니다. )

  1. 서버가 외부 서비스에 액세스할 수 없기 때문에 Mollom 스팸 방지는 Drupal 사이트에서 작동하지 않습니다. (자세한 내용은 아래에서)

  2. Drupal 보고서: "귀하의 시스템 또는 네트워크 구성으로 인해 Drupal이 웹 페이지에 액세스하는 것이 허용되지 않아 기능이 저하되었습니다."(자세한 내용은 아래 참조 - Drupal 구성은 변경되지 않았습니다.)

  3. 서버가 인터넷을 ping할 수 없습니다.

    ping google.com  
    ping: unknown host google.com
    
  4. 다른 네트워크 서비스가 실패했습니다. 예를 들어:

    $ sudo ntpdate ntp.ubuntu.com
    Exiting, name server cannot be used: Temporary failure in name resolution (-3) 1 Jun 16:42:34 ntpdate[7420]: name server cannot be used: Temporary failure in name resolution (-3)  
    apt-get update
    Err http://us.archive.ubuntu.com precise Release.gpg                        
      Temporary failure resolving 'us.archive.ubuntu.com'
    Err http://security.ubuntu.com precise-security Release.gpg                 
      Temporary failure resolving 'security.ubuntu.com'
    
  5. 서버가 제대로 작동하지 않습니다. 아래와 같은 오류는 인터넷에 접속할 수 없는 것과 관련이 있나요?

    Out of memory: Kill process 2300 (mysqld) score 129 or sacrifice child
    Killed process 2300 (mysqld) total-vm:354780kB, anon-rss:53180kB, file-rss:0kB
    Out of memory: Kill process 5937 (mysqld) score 60 or sacrifice child
    Killed process 5937 (mysqld) total-vm:344040kB, anon-rss:78988kB, file-rss:0kB
    

Drupal 오류에 대한 자세한 내용은 다음과 같습니다. 이러한 오류가 발생하기 전에는 (내가 아는 한) Drupal 구성에 대한 변경 사항이 없었습니다.

  1. HTTP 요청 상태 실패 시스템 또는 네트워크 구성으로 인해 Drupal이 웹 페이지에 액세스하는 것이 허용되지 않아 기능이 저하되었습니다. 이는 웹 서버 구성이나 PHP 설정으로 인해 발생할 수 있으며, 사용 가능한 업데이트에 대한 정보를 다운로드하거나, 수집기 피드를 가져오거나, OpenID를 통해 로그인하거나, 기타 네트워크 종속 서비스를 사용하려면 해결해야 합니다. Drupal이 페이지에 액세스할 수 있다고 확신하지만 여전히 이 메시지가 표시되는 경우 $conf['drupal_http_request_fails'] = FALSE;를 settings.php 파일 하단에 추가할 수 있습니다.

  2. Mollom API keys Service error
    The Mollom API keys could not be verified. Please try again later.
    This issue prevents members from registering for our site or posting comments.
    

제가 생각하기에 관련성이 있다고 생각되는 내용은 다음과 같습니다.

root@example1:/etc# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 789.456.123.6
nameserver 789.456.123.7

root@example1:/etc# cat /etc/hosts
#127.0.0.1      localhost
127.0.1.1       example1.local          example1
192.168.150.8   example1                example1
123.456.789.55  example1.example.com    example1        www.example.com

root@example1:/etc# cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis


root@example1:/etc# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         123.456.789.1   0.0.0.0         UG    100    0        0 eth0
123.456.789.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.100.0   0.0.0.0         255.255.128.0   U     0      0        0 eth0


root@example1:/etc# cat /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# This line ensures that the interface will be brought up during boot.
auto eth0 eth0:0

iface eth0 inet static
 address 123.456.789.55
 netmask 255.255.255.0
 gateway 123.456.789.1
 dns-nameservers 789.456.123.6 789.456.123.7

# eth0:0 - Private IPs have no gateway (they are not publicly routable) so all you need to specify is the address and netmask.
iface eth0:0 inet static
 address 192.168.150.8
 netmask 255.255.128.0

root@example1:/etc# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN 
    link/ether 76:49:bf:95:98:68 brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.150.8/17 brd 192.168.255.255 scope global eth0:0
       valid_lft forever preferred_lft forever
    inet 123.456.789.55/24 brd 123.456.789.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 1000:aaaa::aaaa:aaaa:aaaa:aaa/64 scope global dynamic 
       valid_lft 2591730sec preferred_lft 604530sec
    inet6 fe80::aaaa:aaa:fffff:ffff/64 scope link 
       valid_lft forever preferred_lft forever
4: teql0: <NOARP> mtu 1500 qdisc noop state DOWN qlen 100
    link/void 
5: tunl0: <NOARP> mtu 1480 qdisc noop state DOWN 
    link/ipip 0.0.0.0 brd 0.0.0.0
6: gre0: <NOARP> mtu 1476 qdisc noop state DOWN 
    link/gre 0.0.0.0 brd 0.0.0.0
7: sit0: <NOARP> mtu 1480 qdisc noop state DOWN 
    link/sit 0.0.0.0 brd 0.0.0.0
8: ip6tnl0: <NOARP> mtu 1452 qdisc noop state DOWN 
    link/tunnel6 :: brd ::
9: ip6gre0: <NOARP> mtu 1448 qdisc noop state DOWN 
    link/[823] 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00


root@example1:/etc# ifconfig
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:123.456.789.55  Bcast:123.456.789.255  Mask:255.255.255.0
          inet6 addr: 1000:aaaa::aaaa:aaaa:aaaa:aaa/64 Scope:Global
          inet6 addr: fe80::aaaa:aaa:fffff:ffff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:66713 errors:0 dropped:0 overruns:0 frame:0
          TX packets:54198 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7588512 (7.5 MB)  TX bytes:67678447 (67.6 MB)
          Interrupt:77 

eth0:0    Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:192.168.150.8  Bcast:192.168.255.255  Mask:255.255.128.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:77 

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:13579 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13579 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:852371 (852.3 KB)  TX bytes:852371 (852.3 KB)

root@example1:/etc# 

자세한 내용은 다음과 같습니다.

# ping -n 789.456.123.7
PING 789.456.123.7 (789.456.123.7) 56(84) bytes of data.
64 bytes from 789.456.123.7: icmp_req=1 ttl=63 time=2.46 ms
64 bytes from 789.456.123.7: icmp_req=2 ttl=63 time=1.80 ms
^C
--- 789.456.123.7 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.802/2.132/2.462/0.330 ms

ping -n 173.194.37.100 (NOTE: this is google.com)
PING 173.194.37.100 (173.194.37.100) 56(84) bytes of data.
64 bytes from 173.194.37.100: icmp_req=1 ttl=55 time=14.2 ms
64 bytes from 173.194.37.100: icmp_req=2 ttl=55 time=14.1 ms
64 bytes from 173.194.37.100: icmp_req=3 ttl=55 time=14.5 ms
^C
--- 173.194.37.100 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 14.188/14.325/14.513/0.168 ms

추가 정보:

root@example1:/etc# dig google.com
; <<>> DiG 9.8.1-P1 <<>> google.com
;; global options: +cmd
;; connection timed out; no servers could be reached

root@example1:/etc# dig www.google.com @8.8.8.8
; <<>> DiG 9.8.1-P1 <<>> www.google.com @8.8.8.8
;; global options: +cmd
;; connection timed out; no servers could be reached

root@example1:/etc# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=51 time=1.05 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=51 time=1.08 ms
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.058/1.073/1.089/0.036 ms

root@example1:/etc# traceroute google.com
google.com: Temporary failure in name resolution
Cannot handle "host" cmdline arg `google.com' on position 1 (argc 1)

# 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

일반적인 방법으로 소프트웨어를 설치하기 위해 Ubuntu 저장소에 연결할 수 없었지만 로컬로 nmap을 다운로드한 다음 SCP를 사용하여 deb 패키지를 서버에 복사했습니다.

결과는 다음과 같습니다 nmap -sS -sU -p 53.

Host is up (0.00085s latency).
PORT   STATE SERVICE
53/tcp open  domain
53/udp open  domain

답변1

방화벽 문제를 감지하려면 방화벽을 끄거나 포트 53에서 UDP를 허용하는 규칙을 추가하세요. 포트 53의 TCP도 허용될 수 있습니다. 구성 변경을 제어하고 모든 중요한 구성 파일의 백업을 유지하십시오.

관련 정보