네트워크 인터페이스 간 전환

네트워크 인터페이스 간 전환

Linux 시스템에서 wlan0과 eth0 두 인터페이스 사이를 전환하는 스크립트를 작성하려고 합니다.

내 주요 참고 자료는 다음과 같습니다. https://askubuntu.com/questions/338100/forwarding-traffic-Between-2-interfaces

-A FORWARD -i eth0 -o wlan0 -j ACCEPT

제 질문은 위 명령을 실행한 후에도 원래 패킷이 여전히 eth0을 통해 흐르나요?입니다. 그렇다면 어떻게 차단하고 wlan0을 통해서만 흐르도록 할 수 있습니까?

eth0으로 다시 전환하고 wlan0을 eth0으로 전달하려면 어떻게 해야 합니까?

마지막으로, 모든 규칙을 버리고 정상으로 돌아가는 방법은 무엇입니까?

감사해요.

답변1

다른 인터페이스를 통해 라우팅하려면 방화벽을 무시하십시오(찾은 솔루션은 완전히 다른 요구 사항에 대한 것입니다). 대신 라우팅 테이블을 살펴보세요.

이 명령은 netstat -rn지정된 대상을 허용하는 인터페이스를 표시합니다. 이 명령은 route트래픽의 기본 게이트웨이 정의를 포함하여 라우팅 테이블을 수정하는 데 사용할 수 있습니다.

라우팅 테이블의 예는 다음과 같습니다.

netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.2.254   0.0.0.0         UG        0 0          0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1
224.0.0.0       0.0.0.0         240.0.0.0       U         0 0          0 eth1

이는 LAN 서브넷 192.168.1.0/24가 트래픽에 사용되고 eth0192.168.2.0/24가 사용됨을 나타냅니다 eth1. 다른 모든 트래픽은 "기본 게이트웨이"(대상 0.0.0.0)를 사용합니다 eth1. 귀하의 인터페이스는 쉽게 될 수 eth0있으며 wlan0중요하지 않습니다.

기본 게이트웨이를 에서 전환 eth1하고 eth0시스템의 로컬 IP 주소가 192.168.1.254 eth1및 192.168.2.254 라고 가정합니다 eth0.

route delete default gw 192.168.2.254
route add default gw 192.168.1.254

관련 정보