동일한 장치의 인터페이스 간 트래픽 라우팅( wlan0 - usb0 )

동일한 장치의 인터페이스 간 트래픽 라우팅( wlan0 - usb0 )

IP가 10.0.0.1인 USB0 인터페이스가 있고 인터넷에 액세스할 수 없는 10.0.0.2에 라우터가 있습니다. 또한 wlan0에 192.168.0.3 Wi-Fi 어댑터가 있고 라우터 192.168.0.1(인터넷에 연결되어 있음)에 연결되어 있습니다. wlan0에서 usb0 인터페이스로 트래픽을 릴레이하는 방법은 무엇입니까? 두 인터페이스가 모두 동일한 장치에 존재합니다.

iptables를 사용하고 IP 전달을 활성화해 보았습니다.

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE

iptables -A FORWARD -i usb0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i wlan0 -o usb0 -j ACCEPT

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

iptables -A FORWARD -i wlan0 -o usb0 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i usb0 -o wlan0 -j ACCEPT

내가 시도하면

ping -I wlan0 google.com

그러면 응답을 받지만 시도하면

ping google.com

그랬더니 아무 대답도 못 받았어요.

wlan0바람직하게는 트래픽이 으로 라우팅되기를 원 하지만 어떻게든 이를 기본 인터페이스로 usb0설정할 수 있다면 ( 예: 이를 사용하여) 그것도 괜찮습니다.wlan0pacman -Syu

어떤 도움이라도 대단히 감사하겠습니다!

답변1

예, wlan0의 WiFi 어댑터에서 USB0의 다른 네트워크가 있는 시스템으로 트래픽을 NAT하고 싶습니다.

일반적으로 이를 다른 방식으로 표현합니다. 즉, usb0트래픽이 ("내부 인터페이스") wlan0나머지 세계로 갈 때 NAT를 원합니다.

따라서 위장은 외부 인터페이스에서만 수행할 수 있습니다 wlan0.

EXTIF=wlan0
INTIF=usb0
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

마지막 줄이 중요합니다. 실제 NAT를 수행합니다. 나머지는 필터링하고 흥미로운 내용이 내부 네트워크에 전달되지 않도록 하는 것입니다( usb0).

(규칙이 여전히 유효한 경우 위 작업을 수행하기 전에 모든 규칙을 삭제해야 합니다.)

관련 정보