
나는 최근까지 잘 작동하는 데비안 기반 VPS를 가지고 있습니다. 어제 웹사이트 프로그래밍 작업을 하고 있었는데 서버가 더 이상 응답하지 않았습니다. 몇 가지 조사를 해본 결과 간단히 말해서 지금은 ipv6 주소로 액세스하면 응답하지만 ipv4 주소로 액세스하면 응답하지 않습니다. 주소를 pingtrace 했을 때, 호스팅 회사의 서버 이후에 응답이 없습니다. 내 방화벽이 문제를 일으킬 수 있다고 의심되어 IPtables를 플러시했습니다. 그건 해결책이 아니었어요. 호스팅 회사에 문의해 보니 자체 관리형 VPS이기 때문에 기술 지원을 해주지 않는다고 하더군요. 해당 서버에 문제가 발생하지 않기를 바랍니다.
내가 보지 못한 것을 누군가가 생각해 낼 수 있나요?
업데이트 ifconfig에는 eht0에 ipv4 주소와 ipv6 주소가 있으므로 괜찮습니다. 그리고 ipv6에 연결할 수 있습니다. iptables를 중지해도 여전히 ping을 할 수 없습니다. Webmin에서 CSF를 실행하고 있습니다. service csf stop 및 service lfd stop을 수행하면 내 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
또한 내 vps에서 google.com에 ping을 하면 다음과 같은 메시지가 표시됩니다.
알 수 없는 호스트 www.google.com
업데이트 2 방금 Bcast와 Default gw가 다르다는 것을 발견했습니다. (아직 학습 중...) Route -n 결과는 다음과 같습니다.
[ipaddress] 0.0.0.0 255.255.255.0 U 0 0 0 eth0
달라야 할까요? 나에게 필요한 것이 무엇인지 어떻게 알 수 있나요?
답변1
VPS에 관리 콘솔이 있는 경우. 웹을 통해 콘솔 로그인을 수행할 수 있는 수단이 있을 수 있습니다. 또는 IPV6이 작동한다고 말하면 IPV6을 통해 콘솔 로그인을 수행하십시오.
이것을 일반적인 네트워크 설정 테스트 가이드로 간주하십시오.
콘솔 로그인이 완료되면:
IPV4 인터페이스가 작동 중이고 올바른 주소를 가지고 있는지 확인하십시오. VPS 계정을 열 때 올바른 네트워크 설정에 대한 정보가 제공되어야 합니다. (ifconfig 명령)
IPV4 라우팅 테이블에 올바른 기본 경로가 있는지 확인하세요. (경로 명령)
기본 경로의 주소를 ping합니다. (핑)
글로벌 IPV4 주소로 ping(ping www.google.com)
A. (3)은 작동하지만 (4)는 작동하지 않으면 VPS 제공업체의 네트워크에 문제가 있는 것입니다. 그들에게 위의 정보를 제공하십시오. 응답하지 않거나 응답하지 않을 경우 공급업체를 바꾸십시오. 문의 사항에 매우 잘 응답하고 비용이 저렴하기 때문에 Afterburst를 추천할 수 있습니다.
B. (3)이 작동하지 않으면 방화벽을 살펴보십시오(일시적으로 비활성화). 또한 VPS 제공업체를 통해 기본 경로를 확인하세요. 방화벽을 비활성화하면 문제가 해결됩니다.
C. (4)가 작동한다면 문제는 VPS가 아니라 로컬 네트워크에 있는 것입니다. 문제가 있는 것입니다.
예제 명령
user@srv0:~$ sudo ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3c:a8:3f:bd
inet addr:55.135.9.135 Bcast:55.135.9.191 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:63541656 errors:0 dropped:0 overruns:0 frame:0
TX packets:54202238 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28787095338 (28.7 GB) TX bytes:144380431303 (144.3 GB)
user@srv0:~$ sudo route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 55.135.9.129 0.0.0.0 UG 0 0 0 eth0
55.135.9.128 0.0.0.0 255.255.255.192 U 0 0 0 eth0
이는 다음을 알려줍니다.
- eth0 IPV4는 전역적으로 라우팅 가능합니다(RFC1918 주소가 아님)
- eth0 IPV4 주소는 26비트 서브넷 마스크(255.255.255.192)를 사용하는 55.135.9.135입니다.
- eth0 브로드캐스트 주소는 55.135.9.191입니다
. - 기본 게이트웨이는 55.135입니다. .9.129, 이곳은 다른 경로에서 다루지 않는 모든 것을 보내는 곳입니다.
우리는 서브넷 마스크를 사용하여 알려진 장치 IP를 논리적으로 AND하여 우리와 동일한 서브넷에 있음을 알 수 있습니다. 예:
055.135.009.135 (eth0 address)
255.255.255.192 (subnet mask)
----------------AND
055.135.009.128
055.135.009.129 (gw address)
255.255.255.192 (subnet mask)
----------------AND
055.135.009.128
결과는 동일하므로 기본 게이트웨이는 일반적으로 로컬 서브넷에서 직접 액세스할 수 있으므로 직접 액세스할 수 있어야 합니다.
따라서 게이트웨이를 ping하면 이를 볼 수 있습니다.
user@srv0:~$ sudo ping 55.135.9.135
PING 55.135.9.135 (55.135.9.135) 56(84) bytes of data.
64 bytes from 55.135.9.135: icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from 55.135.9.135: icmp_seq=2 ttl=64 time=0.026 ms
64 bytes from 55.135.9.135: icmp_seq=3 ttl=64 time=0.026 ms
^C
--- 55.135.9.135 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.024/0.028/0.036/0.004 ms
이것이 작동하면 arp 목록에서 게이트웨이의 하드웨어 주소를 볼 수 있습니다.
user@srv0:~$ sudo arp -a
? (55.135.9.129) at 00:21:59:cd:6a:48 [ether] on eth0
모든 것이 정상이라면 방화벽 문제를 무시하고 외부 호스트에 연결할 수 있어야 합니다. 이를 수행하지 못하는 모든 실패는 기본 게이트웨이 및/또는 기본 게이트웨이의 업스트림 네트워크로 인해 발생해야 합니다.