기본 게이트웨이가 아닌 eth0의 게이트웨이 주소를 어떻게 확인합니까?

기본 게이트웨이가 아닌 eth0의 게이트웨이 주소를 어떻게 확인합니까?

내 시스템에는 eth0(연결되거나 연결되지 않을 수 있음)과 ppp0(항상 켜져 있거나 꺼져 있을 수 있음)에 모뎀이 있습니다. 인터페이스가 모두 작동되고 ppp0이 기본 경로인 경우 eth0의 실제 게이트웨이 IP 주소를 확인하는 방법을 찾고 싶습니다. "netstat -rn"을 시도했지만 이 구성에서 출력은 다음과 같습니다.

커널 IP 라우팅 테이블
대상 게이트웨이 Genmask 플래그 MSS 창 irtt Iface
xx.xx.xxx.xxx 0.0.0.0 255.255.255.255 어0 0 0 ppp0
192.168.98.0 0.0.0.0 255.255.255.0 유 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 유 0 0 0 루오
0.0.0.0 0.0.0.0 0.0.0.0 유 0 0 0 ppp0

그렇다면 eth0의 게이트웨이 주소를 어떻게 결정합니까? 위의 경우 실제 게이트웨이 주소는 192.168.98.1입니다.

답변1

귀하의 실수는 netstat 출력의 정보를 대상이 아닌 인터페이스와 연결한다는 것입니다. 대상 주소에는 연결된 게이트웨이가 있을 수 있습니다. 네트워크를 구성할 때 인터페이스와 게이트웨이를 대상 주소 집합과 연결합니다. 따라서 "192.168.98/24의 대상 게이트웨이는 무엇입니까?"라는 질문을 던져야 합니다. 해당 범위에서 해당 이더넷에 브리지하거나 직접 연결하십시오.

기본 경로는 via입니다 ppp0(마지막 줄은 마스크가 모두 0인 와일드카드 경로이므로 실제로 비트가 비교되지 않으므로 이 주소에 대한 패킷은 을 통해 전송됩니다 ppp0). 따라서 와일드카드 마스크 127.xx.xx.xx에 없는 대상으로 향하는 패킷은 192.168.98.xx결국 와일드카드 마스크와 일치하여 를 통해 전송됩니다 ppp0. 이제 이는 지점간 프로토콜이기 때문에 해당 인터페이스에서 전송된 모든 패킷은 해당 링크에서 직접 주소를 지정할 수 있는 유일한 장치, 즉 링크의 다른 쪽 끝에 있는 장치로 전송됩니다. 게이트웨이를 지정할 필요가 없습니다.모든이 인터페이스를 통해 전송된 패킷은 인터넷 대상에 관계없이 장치를 통해 전송됩니다.

현재: 액세스할 수 있는 라우터가 있는 경우 eth0해당 라우터는 192.168.98.xx 범위의 IP 주소를 가지고 있는 것이 거의 확실하며 적어도 192.168.98.1은 아닐 것입니다. 그리고 해당 라우터의 전원이 켜져 있고 실제로 인터넷, 로컬 네트워크에 직접 연결되지 않은 모든 경로인 기본 경로를 원합니다.default via 192.168.98.1

새로운(상대적인 용어이며 오랫동안 사용된) ip명령을 사용하고 있을 수도 있습니다. 시도해 보고 ip route결과가 나오면 시도해 보십시오 ip route help. 그렇지 않으면 시도해 보십시오 route help.


따라서 eth0인터페이스가 전혀 아닙니다.가지다게이트웨이 주소. 게이트웨이 역할을 하려는 이더넷 네트워크에 연결된 다른 장치가 있을 수 있습니다. 귀하의 네트워크에는 반응형(순수 레거시) 네트워크가 있다고 말씀하셨습니다 .1. 해당 주소가 있어야 한다는 법도 없고, 주소의 존재를 광고해야 한다는 법도 없습니다. 몇 가지 일반적인 방법이 있는데, 그 중 가장 일반적인 방법은 라우팅 소프트웨어를 실행하는 상자가 dhcp 서버도 실행하고 이러한 방식으로 dhcp를 사용하는 모든 사람에게 자신에 대한 정보를 알려주는 것입니다. MolbOrg의 답변매우 일반적인 설정 스타일이 제공되지만 이 시점에서 누구나 제안할 수 있는 모든 것은 귀하의 특정 네트워크와 어느 정도 일치할 가능성이 높습니다.

답변2

eth0이것이 DHCP 클라이언트 인터페이스라고 가정합니다 .
한 가지 옵션은 DHCP 클라이언트 임대 파일을 확인하는 것입니다.dhcpd.리스
위치와 이름은 시스템에 따라 다릅니다. 일부 Fedora 시스템에서는 아래 파일이 /var/lib/dhclient/다음과 같은 흥미로운 문자열을 포함하는 임대 파일입니다.

  option routers 192.168.1.1;

또 다른 옵션은 funtoo 상자에서 저에게 효과적이었습니다: dhcpcd -U eth0
스크립트에서 소스 코드를 가져올 준비가 된 멋진 테이블을 인쇄합니다.

broadcast_address=192.168.1.255
dhcp_lease_time=86400
dhcp_message_type=5
dhcp_server_identifier=192.168.1.1
domain_name_servers='192.168.1.1 192.168.1.101'
ip_address=192.168.1.101
network_number=192.168.1.0
routers=192.168.1.1
subnet_cidr=24
subnet_mask=255.255.255.0

Google과 매뉴얼 페이지에 따르면 dhcping와 같은 다른 옵션이 있지만 내 상자에서는 실패했지만 당신에게는 효과가 있을 수 있습니다.dhclient -n

답변3

리눅스:

터미널을 열어야 합니다. Linux 배포판에 따라 화면 상단이나 하단의 메뉴 항목에 있을 수 있습니다. 이 예에서는 Fedora를 사용하겠습니다. 응용 프로그램 > 시스템 도구 > 터미널을 클릭합니다.

터미널이 열리면 다음 명령을 입력합니다.ip route | grep default

출력은 다음과 같아야 합니다.

joe$ ip route | grep default
default via 192.168.1.1 dev eth0 proto static

이 예에서 192.168.1.1은 다시 기본 게이트웨이(라우터) IP 주소입니다.

여기에 이미지 설명을 입력하세요.

이 주제에 대한 추가 정보게이트웨이 IP를 찾는 방법(linux/win/osx).

관련 정보