시작 시 기본 게이트웨이 주소를 설정할 수 없습니다.

시작 시 기본 게이트웨이 주소를 설정할 수 없습니다.

저는 Debian을 실행하는 BeagleBone 임베디드 컴퓨터를 사용하고 있습니다.

두 개의 네트워크 인터페이스가 있습니다.

1) USB를 통해 ppp를 사용하는 셀룰러 모뎀에 연결하고 외부 세계와 연결합니다. ISP로부터 동적 IP 주소를 받습니다.

2) 다른 로컬 장치의 이더넷 인터페이스에만 연결하십시오. 이 명령을 rc.local에 넣어 이 인터페이스에 고정 IP 주소 192.168.1.40을 할당했습니다.ifconfig eth0 192.168.1.40 netmask 255.255.255.0

모뎀을 통한 연결 문제는 두 인터페이스가 모두 활성화된 경우에만 발생합니다. 이 문제를 해결하려면 다음 명령을 사용하여 스크립트를 실행하여 모뎀이 얻은 주소로 기본 게이트웨이를 설정해야 한다는 것을 깨달았습니다.

#!/bin/sh
IPADD=$(/sbin/ifconfig ppp0 | grep 'inet' | cut -d: -f2 | awk '{ print $2}')
route add default gw $IPADD

로그인 후 수동으로 스크립트를 실행할 때 효과적입니다. 그러면 이 두 인터페이스를 통해 통신할 수 있습니다.

그러나 시작할 때 스크립트가 올바르게 실행되도록 할 수 없으며 이 방법으로 기본 게이트웨이 주소를 자동으로 할당할 수 없습니다.

나는 rc.local에서 실행하고, /etc/rc5.d 또는 /etc/rc3.d에 스크립트를 넣고, /root/.bashrc 또는 /user/.bashrc에서 실행하는 등 모든 것을 시도했습니다. crontab을 사용하여 스크립트를 실행하기 전에 1분 동안 잠자기 상태로 루프에서 실행해 보세요. 아무것도 작동하지 않습니다.

로그인한 후 이더넷 인터페이스가 기본 게이트웨이를 덮어쓰는 것 같습니다.

이 문제를 해결하는 방법을 아는 사람이 있나요? 시작 시 자동으로 할당되도록 하려면 이 기본 게이트웨이 주소가 필요합니다. 나는 이것을 며칠 동안 시도해 왔습니다.

이더넷 케이블이 연결되어 있지 않거나 이더넷 인터페이스를 끄면 전혀 문제가 없습니다. 두 인터페이스가 모두 활성화된 경우에만 이 문제가 발생합니다. 감사해요

관련 정보