두 무선 인터페이스 간 라우팅 - Linux

두 무선 인터페이스 간 라우팅 - Linux

기본적으로 내 네트워크는 다음과 같습니다.

                            +------+
  10.0.0.10 ------ 10.0.0.1=|Laptop|=11.0.0.11 ------ 11.0.0.1 
(wlan0,client)    (AP,wlan0)+------+(wlan1,client)        (AP)

wlan0 및 wlan1은 노트북에 연결된 USB Wi-Fi 어댑터입니다.

내 노트북을 통해 이러한 네트워크를 연결하고 싶습니다. 처음에는 브리징을 시도했지만 브리징이 지원되지 않는 것으로 나타났습니다.

나는 이것을 시도했지만 효과가 없었습니다.

iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT
iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE

도움을 주시면 감사하겠습니다.

답변1

두 개의 가장 규칙이 필요하지 않습니다. 귀하의 컴퓨터를 기본 경로로 갖고 있는 클라이언트를 가장하기만 하면 됩니다. "WAN" 측 인터페이스를 떠나는 패킷에 소스-NAT를 적용합니다.

방화벽이 기본 상태인 경우 다음 단일 규칙만 필요합니다.

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

서로 다른 네트워크의 MTU가 다른 경우 MSS 수정 사항을 적용해야 할 수도 있습니다.

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu   

(이것은 "ping은 작동하지만 웹 사이트는 작동하지 않습니다" 또는 "일부 사이트는 작동하지만 다른 사이트는 작동하지 않습니다"와 같은 문제를 해결하는 데 도움이 됩니다.)

매우 일반적인 캐치가 있습니다. 나는 이 일을 20년 정도 했는데, 모든 것이 제대로 작동할 때까지 종종 잊어버리곤 하지만 어느 정도는 작동하지 않습니다. 커널에서 패킷 전달을 명시적으로 활성화해야 합니다.

sysctl net.ipv4.ip_forward=1

/etc/sysctl.conf부팅 후 활성화되도록 동일한 변수를 에 설정합니다 .

관련 정보