![이름만으로 인터페이스를 전환하는 방법이 있나요?](https://linux55.com/image/62376/%EC%9D%B4%EB%A6%84%EB%A7%8C%EC%9C%BC%EB%A1%9C%20%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%A5%BC%20%EC%A0%84%ED%99%98%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%B4%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
현재 Linux 환경에서 네트워크 인터페이스를 전환하는 방법을 연구 중입니다. 예를 들어 eth0이 기본 연결인 경우 wlan0으로 기본 게이트웨이를 전환하여 네트워크 인터페이스를 전환하려고 합니다. 내가 보통 하는 일은 다음과 같습니다.
route delete default gw 192.168.1.1 eth0
route add default gw 192.168.2.1 wlan0
이 프로세스를 스크립트로 자동화하고 싶지만 wlan0의 라우터 주소를 얻는 안정적인 방법을 찾지 못했습니다. 주요 연결이 아니기 때문에 netstat -rn 및 ip Route는 게이트웨이 주소를 제공하지 않으며 arp -n은 어느 IP가 라우터의 것인지 구별하는 데 안정적으로 도움이 되지 않습니다.
이더넷을 분리할 때 발생하는 것처럼 인터페이스 이름을 바꾸는 방법이 있습니까? 아니면 라우터 주소를 전환하거나 찾는 다른 방법이 있습니까?
답변1
다른 사람이 알려지지 않은 도구를 제공하지 않는 한 이는 우리 모두가 원하는 우아한 방식으로 수행될 수 없습니다.
첫 번째 대답은 이름 참조만으로는 기본 게이트웨이를 전환할 수 있는 방법이 없다는 것입니다. 유일한 올바른 방법은 다음을 사용하는 것입니다.노선명령을 내리세요. 당신이 하는 것처럼요.
둘째, TTL 패킷 1로 호스트에 ping을 보내면 라우터를 찾을 수 있습니다. 사용추적 경로그리고 첫 번째 홉을 필터링합니다.
사용-티매개변수평평한생존 시간 설정:
$ ping -t 1 192.168.0.254
위의 IP는 라우터의 IP여야 합니다. 그리고추적 경로매우 간단합니다:
$ traceroute 8.8.8.8
지금 하고 있는 작업을 인터페이스 장애 조치라고 하며, 각 시스템 관리자는 자신의 Bash 스크립트를 사용하여 이를 수행합니다.