내 컴퓨터 중 하나에 두 개의 인터페이스가 있습니다. 하나는 DHCP에서 IP를 가져오는 인터넷 연결입니다. 문제 없습니다.
다른 인터페이스(eth1)는 로컬 시스템용이며 gateway 192.168.3.1
해당 구성 파일(Ubuntu 기반 배포)에 설정됩니다.
문제는 인터페이스를 불러오면 eth1
자동으로 기본(0.0.0.0) 경로가 경로 테이블에 추가되고(예상대로) 로컬에 패킷을 보내려고 하기 때문에 인터넷에 연결할 수 없다는 것입니다. 네트워크. 지금까지는 192.168.3.1
게이트웨이의 기본 경로를 제거하여 이 작업을 수동으로 수행해야 했습니다.
인터페이스를 열면 기본 경로가 추가되지 않도록 설정하는 방법이 있습니까? 특정 네트워크 라우팅이 gateway 192.168.3.1
필요하므로 구성 파일에 이를 유지 해야 합니다 .3.x
이것은 내 라우팅 테이블입니다.
192.168.3.0 * 255.255.255.0 U 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.3.1 0.0.0.0 UG 100 0 0 eth1
default DD-WRT 0.0.0.0 UG 100 0 0 eth0
답변1
192.168.3.1
게이트웨이로 선언하지 마세요 . 게이트웨이는 "기본 경로"를 의미합니다. 인터페이스 주소가 192.168.3.1/24 네트워크 내에 있으면 이것으로 netmask 255.255.255.0
충분합니다.
그렇지 않은 경우 인터페이스 설정 스크립트의 일부로 필요한 경로를 추가하십시오. Debian/Ubuntu에서는 up
에 절을 넣거나 /etc/network/interfaces
에 스크립트를 추가하세요 /etc/network/if-up.d
. 실행할 명령은route add 192.168.3.1 eth1 && route add -net 192.168.3.0/24 gw 192.168.3.1
답변2
먼저 이 작업을 수행 ip route list
한 다음 eth1 인터페이스에서 동일한 내용을 다시 확인하십시오. /etc/sysconfig/network-scripts/route-eth1
인터페이스가 재시작될 때마다 인터페이스 파일의 라우팅 구성이 적용되도록 동일한 내용을 파일에 넣습니다 . 반면, 이를 위해 특별히 어떤 작업을 수행하려는 경우 /etc/rc.d/init.dnetwork
네트워크가 다시 시작될 때마다 해당 작업을 수행하는 스크립트를 넣을 수 있으며, 이 스크립트는 또한 Route-eth1 파일을 읽고 라우팅 구성을 적용합니다.