
저는 다음과 같은 네트워크 시나리오를 사용하는 데비안 머신을 가지고 있습니다:
- eth0- 로컬 라우터(172.20.1.x)를 통한 인터넷 연결
- ppp0- 인터넷 없이 네트워크에 전화 접속(10.xxx)
나는 라우팅 테이블에 기본 경로를 추가하지 않도록 pppd를 설정했으며 시스템 부팅 후 라우팅 테이블은 다음과 같습니다.
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.20.1.1 0.0.0.0 UG 0 0 0 eth0
10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.20.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
이 구성을 사용하면 다음을 수행할 수 있습니다.ping google.com, 그러나 10.0.0.1 또는 10.0.0.2 등과 같은 IP를 가진 머신에는 접근할 수 없습니다.
(나의 지식이 부족한 상태에서) 이 문제를 해결하려고 /etc/network/interfaces
파일을 다음과 같이 수정했습니다.
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto ppp0
iface ppp0 inet ppp
pre-up sleep 5
provider vfp
post-up /sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
pre-down /sbin/route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
post-up /sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
그러나 작동하도록 경로를 추가해야 하는 명령이 적용되지 않는 것 같습니다. 라우팅 테이블에서는 아무 것도 변경되지 않습니다.
내가 무엇을 놓치고 있나요? / 이 문제를 어떻게 해결할 수 있나요? 감사합니다 ;)
추신: 시스템이 부팅된 후 실행하면 route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.64.64.64
시스템에서 google.com과 10.0.0.1을 모두 ping할 수 있습니다.
답변1
연결 경로를 추가하거나 제거하려면 파일 ppp
을 사용하지 않습니다 interfaces
. 대신 /etc/ppp/ip-up.d
및 각각 에 스크립트를 추가합니다 /etc/ppp/ip-down.d
. 명령을 사용하여 스크립트를 거기에 배치하기만 하면 됩니다 route
.