VPNホットスポットであるRaspberry Pi 3 B - クライアント側にインターネットがない - Wi-Fiアダプタ2台

VPNホットスポットであるRaspberry Pi 3 B - クライアント側にインターネットがない - Wi-Fiアダプタ2台

ターゲット:

ホームネットワーク --> wlan0 --> VPN --> wlan1 --> ホットスポット

Raspbianの提示とピクセル:

内蔵Wi-Fiアダプタを使用してホームネットワークに接続し、外部Wi-Fiアダプタをホストとして使用します。イーサネットなし。私は1週間以上にわたって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-server:

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

おすすめ記事