IP 주소에 대한 ping은 작동하지만 도메인 이름에 대한 ping은 작동하지 않습니다.

IP 주소에 대한 ping은 작동하지만 도메인 이름에 대한 ping은 작동하지 않습니다.

편집: 2개의 머신 설정이 있는데 머신 A에는 인터넷 연결만 있고 머신 B의 ens192 인터페이스는 머신 A의 인터페이스 ens192에 직접 연결되어 있습니다.

따라서 머신 A에도 iptables를 구성하여 머신 B에도 연결이 있는지 확인하세요. IP 주소에 대한 핑은 작동하지만 도메인 이름에 대한 핑은 실패합니다. 각 시스템에 대한 네트워크 구성 세부 정보는 아래에 제공됩니다.

기계 A:

네트워크 구성:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:11:8a:1a brd ff:ff:ff:ff:ff:ff
    inet 20.1.1.27/24 brd 20.1.1.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::88f2:48b:daef:7b0d/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:1a:4b:09 brd ff:ff:ff:ff:ff:ff
    inet 192.168.43.67/24 brd 192.168.43.127 scope global noprefixroute ens224
       valid_lft forever preferred_lft forever
    inet6 fe80::65cb:5a44:210b:1ef3/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

인터넷 연결을 위해 개인 네트워크 인터페이스(ens192)의 패킷이 다른 인터페이스(ens224)에 도달할 수 있도록 iptables NAT를 구성했습니다. 아래는 사용된 구성입니다.

iptables --table nat --flush
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface ens224 -j MASQUERADE
iptables --append FORWARD --in-interface ens192 -j ACCEPT

기계 B:

머신 A에서 NAT 규칙을 구성한 후 이제 머신 B에서 8.8.8.8 또는 모든 IP 주소를 ping할 수 있지만 호스트 이름을 확인할 수는 없습니다.

[root@localhost ~]# 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_seq=1 ttl=56 time=1.78 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=1.90 ms

[root@localhost ~]# ping google.com
ping: google.com: Name or service not known

네트워크 구성:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:11:23:3a brd ff:ff:ff:ff:ff:ff
    inet 20.1.1.201/24 brd 20.1.1.255 scope global noprefixroute dynamic ens192
       valid_lft 15108sec preferred_lft 15108sec
    inet6 fe80::250:56ff:fe11:233a/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

IP 라우팅:

[root@localhost ~]# ip route
default via 20.1.1.27 dev ens192 proto dhcp metric 100 
20.1.1.0/24 dev ens192 proto kernel scope link src 20.1.1.201 metric 100

구성 파일 구문 분석

[root@localhost ~]# more /etc/resolv.conf 
# Generated by NetworkManager
nameserver 9.9.9.9
nameserver 20.1.1.27

이 문제를 어떻게 해결하나요?

답변1

IP 연결기계 B작동하는 것 같습니다.

DNS 서버를 테스트하여 작동하는지 확인하겠습니다 resolf.conf.

fping 9.9.9.9
fping 20.1.1.27

DNS가 데이터를 반환하는지 확인하세요.

nslookup google.com 9.9.9.9
nslookup google.com 20.1.1.27
nslookup google.com 8.8.8.8
host google.com 8.8.8.8

또한 확인iptables:

/sbin/iptables -t nat -A POSTROUTING -o ens224 -j MASQUERADE
/sbin/iptables -A FORWARD -i ens224 -o ens192 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i ens192 -o ens224 -j ACCEPT

관련 정보