ターゲット:
ホームネットワーク --> 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は失敗します!ハッシュ後もこの問題が発生しました。削除した後、すべてがうまくいきます!
使用される構成:
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
MASQUERADE
RPIの物理インターフェイスにルールを適用しないでくださいtun0
。 VPNクライアントからのトラフィックがRPIのIPとしてNATされているので、自宅のルーターがRPIを介してこれらのトラフィックに応答できるようにします。
iptables --table nat --append POSTROUTING --src [network for your tun0] --out-interface wlan1 --jump MASQUERADE