저는 Raspberry Pi 2 모델 B를 사용하여 프로젝트를 시작하고 여기에 Fedora Arm을 설치했습니다. 현재 목표는 이더넷 케이블을 통해 DSL 라우터와 3G USB 동글을 통해 파이를 인터넷에 연결하여 장애 조치 메커니즘을 설정할 수 있도록 하는 것입니다. 이렇게 하려면 eth0(이더넷 연결)이 작동하는지 확인하는 스크립트를 만들어야 할 것 같습니다 ping 8.8.8.8 -I eth0
. 그렇지 않으면 eth0을 끄고 eth1(3G 동글)을 활성화하여 3G 연결로 전환할 수 있습니다. .
모든 것이 괜찮습니다. 여기서 문제가 발생합니다. 이더넷이 다시 연결된 후 다시 이더넷으로 돌아가고 싶지만 3G 연결이 실행되는 동안에는 그렇게 할 수 없습니다( ping 8.8.8.8 -I eth0
eth0을 불러오더라도 게시가 작동하지 않습니다). ) eth0의 인터넷 연결이 복원되었는지 확인할 수 있도록 eth1을 종료해야 합니다. 두 인터페이스를 동시에 열면 한 번에 하나만 활성화되고 ping 8.8.8.8 -I eth0' and 'ping 8.8.8.8 -I eth1
동시에 두 인터페이스를 사용하여 인터넷에 ping을 실행할 수 없다는 것을 깨달았습니다. 내 질문은 다음과 같습니다
두 인터페이스가 모두 실행 중일 때 ping이 가능합니까?
그렇다면 어떨까요?
답변1
분명히 문제는 기본적으로 시스템에 기본 게이트웨이가 하나만 있을 수 있다는 것입니다. 설명된 상황에서는 비동기 라우팅이 발생합니다.
해결책
iproute2 프로그램은 이 문제를 해결하는 데 자주 사용될 수 있으며, 현재 모든 Linux 배포판에 포함되어 있으며 설치도 되어 있습니다. 일반적으로 Linux 시스템에는 하나의 기본 게이트웨이 항목만 가질 수 있는 라우팅 테이블이 하나만 있습니다. iproute2를 사용하면 추가 라우팅 테이블을 설정할 수 있으며, 시스템은 규칙에 따라 이 테이블을 사용할 수 있습니다. 초기 위치
eth0과 eth1이라는 두 개의 인터페이스가 있다고 가정해 보겠습니다. 사용해야 하는 두 네트워크는 192.168.0.0/24 및 10.10.0.0/24입니다. 여기서 각 네트워크의 첫 번째 IP 주소는 게이트웨이여야 합니다. 초기 구성은 아래와 같습니다. /etc/네트워크/인터페이스
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
# The secondary network interface
allow-hotplug eth1
iface eth1 inet static
address 10.10.0.10
netmask 255.255.255.0
두 번째 라우팅 테이블 추가
새로운 라우팅 테이블을 추가하려면 /etc/iproute2/rt_tables 파일을 편집해야 합니다. 라우팅 테이블을 "rt2"라고 부르고 기본 설정을 1로 설정하겠습니다. 명명된 파일은 다음과 같아야 합니다.
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
1 rt2
새 라우팅 테이블 구성
이제 목표를 달성하려면 네 가지 명령이 필요합니다. 먼저, 다음 명령을 사용하여 새 라우팅 테이블을 채워야 합니다.
ip route add 10.10.0.0/24 dev eth1 src 10.10.0.10 table rt2
ip route add default via 10.10.0.1 dev eth1 table rt2
첫 번째 명령은 eth1 인터페이스를 통해 네트워크 10.10.0.0/24에 액세스할 수 있음을 나타냅니다. 두 번째 명령은 기본 게이트웨이를 설정합니다. 라우팅 규칙
시스템이 언제 새로운 라우팅 테이블을 사용할지 알기 위해서는 두 가지 규칙을 구성해야 합니다.
ip rule add from 10.10.0.10/32 table rt2
ip rule add to 10.10.0.10/32 table rt2
이러한 규칙에서는 IP 주소 10.10.0.10에서 시작되고 IP 주소로 향하는 트래픽이 rt2 라우팅 테이블을 사용해야 한다고 명시합니다.