VPN 핫스팟인 Raspberry Pi 3 B - 클라이언트 측에 인터넷 없음 - Wi-Fi 어댑터 2개

VPN 핫스팟인 Raspberry Pi 3 B - 클라이언트 측에 인터넷 없음 - Wi-Fi 어댑터 2개

표적:

홈 네트워크 --> wlan0 --> VPN --> wlan1 --> 핫스팟

Raspbian 제시와 픽셀:

내장된 Wi-Fi 어댑터를 사용하여 홈 네트워크에 연결하고, 외부 Wi-Fi 어댑터를 호스트로 사용합니다.이더넷 없음. 나는 일주일 넘게 일주일 넘게 Hostapd와 여러 dhcp 구성을 사용하여 Hostpot을 통해 VPN을 사용하도록 rpi 3 모델 b를 설정하려고 노력했지만 성공하지 못했습니다.

지혜로운 말들: 초보자나 전문가가 아닙니다.

많은 온라인 기사에서 단계를 차용했지만 새로운 rpi 3b와 함께 사용할 업데이트 버전이 없습니다. 참고용으로 여기에 제공하겠습니다.

무슨 일이 일어나는지: wlan0은 Pi의 홈 네트워크 VPN에 연결되고, 고정 IP는 wlan1 Hostapd에 할당되고, isc-dhcp 드라이버는 wlan1에 대한 IP 주소를 설치하고, 클라이언트에 서브넷이 할당됩니다.

무엇이 아닌가?: 클라이언트(휴대폰)에서 VPN이 생성한 핫스팟

내 용의자:iptables 또는 네트워크 인터페이스 또는 dhcpcd.conf(etc/dhcpcd.conf에 위치)

이상한 장면: "# iface default inet dhcp"가 인터페이스에 추가되면 isc-dhcp가 실패합니다! 해싱 후에도 이 문제가 발생했습니다. 삭제한 후에는 모든 것이 잘 작동합니다!

참조번호:https://bit.ly/2g2NKfI


사용된 구성:

DHCPD:/etc/dhcp/dhcpd.conf:

subnet 192.168.42.0 netmask 255.255.255.0 {
    range 192.168.42.10 192.168.42.50;
    option broadcast-address 192.168.42.255;
    option routers 192.168.42.1;
    default-lease-time 600;
    max-lease-time 7200;
    option domain-name "local";
    option domain-name-servers 8.8.8.8, 8.8.4.4;
}

ISC-DHCP 서버:/etc/default/isc-dhcp-서버:

INTERFACES="wlan1"

주인:/etc/hostapd/hostapd.conf: (여기에서는 사용자 정의 버전이 사용됨)

interface=wlan1
driver=rtl871xdrv
ssid=Net
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=Test123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

/etc/default/hostapd:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

네트워크 인터페이스:/etc/네트워크/인터페이스:

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

#allow-hotplug wlan1
iface wlan1 inet manual
#   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

up iptables-restore < /etc/iptables.nat.vpn.secure

DHCPCD:/etc/dhcpcd.conf:

interface wlan1

static ip_address=192.168.42.1/24
static routers=192.168.42.1
static domain_name_servers=192.168.42.1

네트워크 주소 변환:/etc/sysctl.conf:

net.ipv4.ip_forward=1

sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

VPN:

iptables -A INPUT -i tun0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i tun0 -j DROP
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

sh -c "iptables-save > /etc/iptables.nat.vpn.secure"

효과가 없는 규칙:

iptables -A FORWARD -i tun0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan1 -o tun0 -j ACCEPT

결과:

VPN은 Pi에서 실행됩니다. 핫스팟이 작동합니다. 클라이언트 측에는 인터넷이 없습니다. 클라이언트(기본적으로 전화)에는 올바른 IP 및 서브넷 마스크가 할당됩니다. 인터넷을 검색할 수 없습니다.

이 실패의 원인?

답변1

MASQUERADERPI의 물리적 인터페이스에 규칙을 적용하면 안 되나요 tun0? VPN 클라이언트의 트래픽이 RPI의 IP로 NAT되어 집의 라우터가 RPI를 통해 이러한 트래픽에 응답할 수 있기를 원합니다.

iptables --table nat --append POSTROUTING --src [network for your tun0] --out-interface wlan1 --jump MASQUERADE

관련 정보