명령줄을 사용하여 이더넷에 대한 WLAN 연결 공유

명령줄을 사용하여 이더넷에 대한 WLAN 연결 공유

LAN(이더넷 - eth0을 통해)의 다른 컴퓨터와 공유하려는 wlan1 연결이 있습니다. 이는 일시적인 해결책이므로 이를 달성하고 싶습니다.스크립트를 통해, 호스트의 네트워크 구성 파일을 건드리지 않도록 합니다(즉, 원할 경우 재부팅할 때마다 이 스크립트를 실행합니다).

문제는wlan1과 eth0을 연결할 수 없습니다..

sudo brctl addif br0 eth0 wlan1

나는 필요한 사람을 본다주소 4개 활성화:

 iw dev wlan1 set 4addr on

사실 브리지에 wlan1을 추가할 수는 있는데... Wi-Fi 연결이 끊어졌습니다! 봤는데 이것도일반적인 문제:( 존재하다2, 솔루션은 다음과 같이 말합니다.

iw dev wlan0 interface add wds.wlan0 type managed 4addr on
ip link set dev wds.wlan0 addr $ADDR
ip link set dev wds.wlan0 up

여기서 $ADDR은 "라우터에 구성된 WDS 장치 주소"입니다. 그게 뭔지 이해가 안 돼요? 내 wlan1 네트워크 카드의 MAC 주소는 무엇입니까? 그렇다면 어떻게 브리지를 만들 수 있나요? 다음은 작동하지 않습니다:

sudo brctl addbr br0
sudo brctl addif br0 eth0 wds.wlan0

또는여기, 설치를 권장합니다 ebtables. 하지만 페이지에서는 브릿지를 어떻게 만들어야 하는지 설명하지 않고, /etc/network/interfaces내가 하고 싶지 않은 일을 수정합니다...

그래서,누군가 제가 그 다리를 올바르게 만드는 것을 도와줄 수 있나요?

지금까지 내 Wi-Fi 스크립트는 다음과 같습니다.

 #!/bin/bash
 # this is for wlan1 - wifi connection
 pkill dhclient
 pkill wpa_supplicant
 ip link set dev wlan1 down
 ip addr flush dev wlan1
 iwconfig wlan1 essid "mywifi"
 iwconfig wlan1 frag 2432
 iwconfig wlan1 rts 2432
 ip link set dev wlan1 up   
 iwconfig wlan1 rate 1M
 dhclient -v wlan1

 # this is my IP address on my LAN
 ifconfig eth0 192.168.0.8 netmask 255.255.255.0

저는 Linux Mint 17.1 호스트를 실행하고 있습니다. 나는 그것을 설치했다 bridge-utils.

답변1

브릿지 부분을 우회해서 사용이 가능한가요 iptables?

그렇다면 소스 NAT를 설정하여 WLAN 인터페이스에서 나오는 트래픽을 위장할 수 있습니다.

먼저 IP 전달을 활성화해야 합니다.

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

다음으로 나가는 트래픽을 위장해야 합니다.

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

LAN에 연결된 호스트는 192.168.0.8을 기본 게이트웨이로 사용하고 컴퓨터는 wlan0 인터페이스에 연결된 게이트웨이를 기본 게이트웨이로 사용하도록 합니다.

관련 정보