v6プラス回線のまま SoftEther VPN を使って、外部のVPSとRaspberry Pi 3をブリッジしてVLANを作る

タイトルに全部キーワード入れてみました。そういうこと。

v6プラス回線だと自宅に待ち受けポートは作れない。
なので、待ち受けポートは外部のVPSにSoftEther Serverで作って、内部のラズパイからVPSに対してSoftEther Bridgeで接続。って構成。

参考ブログはこことか。図はまさにその通り。

https://qiita.com/Dillen/items/4bf681ea413d61e1895b

http://gachi3lab.blogspot.com/2017/09/vpsvpn.html

VPNserer起動 穴あけまではここで

http://harukarium.sblo.jp/article/184766762.html

ファイル取得は書いてないので下記

rootユーザで、/root/vpn/のなかで

wget https://jp.softether-download.com/files/softether/v4.34-9745-rtm-2020.04.05-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz

tar zxvf softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz

VPS設定はこれだけしか書いてないけど重要
今回はGUIの管理ツールを使用します。
自宅のwindowsPCに SoftEther VPN Server Manager for Windowsをインストールします。
あとは仮想HUB一つ、bridge用(raspberry piからアクセスするためのユーザ、VPNクライアントからアクセスするためのユーザを作成します。
VPNサーバの設定については通常のVPNサーバと同じです。

ラズパイはサーバインストールしていたものをブリッジとして再利用。
ほぼ何もしていないけど、カスケード接続はした。

L2TP用のポートはあける必要があるみたいなので設定。
firewall-cmd –zone=public –permanent –add-port=500/udp
firewall-cmd –zone=public –permanent –add-port=4500/udp
firewall-cmd –reload
systemctl restart firewalld.service

これでつながるようになった。500と4500は開けないとダメになるので間違いない。

ラズパイ3でSoftEther VPN(失敗だけど・・・)

懲りずにもう一度やってみることにしました。

まずはラズパイ3の初期設定。

Macから Raspberry Pi Imager で RASPBERRY PI OS 32-BIT を書き込み。

RASPBERRY PI 側で言語など初期設定してインストールに30分ほど。

その後にコンフィグを開いてVNCとSSHをYesに変更。

SSHはこれだけ。Macから ssh pi@192.168. で、IP指定して接続

VNCはFinderの標準VNCクライアントからはうまく行かなかったので、realvnc.com から VNCクライアントをダウンロードして接続

参考にしたのはここ

ここまでが初期設定で、改めて150%表示のVNC上とSSH接続で作業開始。ここを参照。

https://qiita.com/ryo0916/items/9fe094dce7e0d9e2e222

ラズパイ側の設定は問題なし。

ところが、MacOSでSoftEther VPN Server Managerが起動しない。
(起動してもすぐ消える。どうやら32bitアプリ使えないかららしい。よく見れば対応OSXのバージョンも少し前の10.11までで32bitって書いてある。今使ってるのは10.15)

仕方がないのでWindowsから。ここの通りに設定。

http://usicolog.nomaki.jp/engineering/raspberryPi/raspberryPi_VPN.html

<重要>WindowsのServer Managerの後にもう一回Macで設定するページを見てラズパイに戻ってブリッジ設定を忘れずに。/etc/network/interfaceに以下を追加して再起動。

auto eth0
iface eth0 inet manual

# SoftEther VPN
auto br0
iface br0 inet static
address 192.168.11.**
netmask 255.255.255.0
gateway 192.168.11.1

bridge_ports eth0 tap_vlan
bridge_maxwait 10

/etc/dhcpcd.conf のinterface eth0 の設定はコメントアウト

これでラズパイの設定は終わり。

あとはルーター。

ポートフォワードというキーワードで調べて、バッファロールータはセキュリティのポート変換

https://www.buffalo.jp/support/faq/detail/15022.html

インターネット側にUDP500 LAN側にIPアドレス ポート空白
インターネット側にUDP4500 LAN側にIPアドレス ポート空白
で同じグループ名 pi にして設定。再起動。

結果、うまく行かない。下記を見ながら再設定。

https://nautilus-code.jp/articles/reinstall-softether-vpn-server-to-raspberry-pi-3b

vpnserver.serviceの書き方がちょっと違った。

どうやらルータというか回線がv6プラスだとダメらしい。

尚且つ、今使っているルータにはVPNサーバ機能が既にあるのでこんなことしなくても繋がるらしい・・・。

多分v6使わない設定にすればいける。がっかり。

SoftEther VPN Server に 外部から接続できない問題 解決

結局、元に戻って久しぶりに全部やりなおしたら接続できた。

iPhoneでずっと接続できなかったのはiOSの問題だったのかな。

全部削除して再起動ってここのとおりやったら接続できるようになった。

「pppサーバへの接続を確立できませんでした。」

基本的な設定はもとに戻ってここのとおり
http://俺の技術メモ.net/raspberry-pi2-vpnserver-part1/

で、iPhoneからやっぱり無理だなーって感じだったんだけど、一番最初のとおり削除して再起動して再設定したらうまくいった。

ちょっと調べて出てきたSecureNATとやらの設定はOFFのまま。

まぁ明日になったらまだダメかもだけど。

SoftEther VPN Server に 外部から接続できない問題 解決?

設定後は失敗っぽかったけど、一晩経ったら外からiPhoneは接続できるけどiPadからは接続できないになってちょっと前進。何かのキャッシュがクリアされたのか、逆に何かを保持しているだけなのか。これ以上の調整は無理かと。
−−−

DHCPのやり取りがうまくできないから接続できない(と思っている)問題。今までゴニョゴニョやってきた知識を総動員して解決する。

きっかけはここ。
http://ytsrvlog.blogspot.jp/2014/04/softethervpn-2.html

状況は似ているので同じことをやればいいかと。
つまり、仮想HUBを2つ並べて1つをDHCP通さないように設定するんだけど、説明がほとんど無い。
と、Raspberry Pi 3(ラズパイ)でeth0とブリッジで仮想のtap_vlan接続しているのでうまくいくのかもわからない。

あらためて3.6ローカルブリッジのマニュアルを見る。
https://ja.softether.org/4-docs/1-manual/3/3.6

LinuxはVPNとインターネットが1つのポートで共用できないからブリッジとtapを作ってうんぬんかんぬんみたいなことが書いてある。

ここで考える。ラズパイ3って、2と違って無線LANもあるからポート2つ以上あるので他のサイトにあった仮想のtap_vlanっていらないかも。

で、ラズパイの無線LANを固定IP設定。
無線のパスワードは一度書いたらどこかに覚えてくれているみたいなので、dhcpcd.confで固定IPだけ記載。

インターネット側を無線LANのwlan0、VPNで使うのを有線LANのeth0側と考えて設定する。

お世話になったtap_vlanを消して、VLANから、br0にブリッジの設定をする。

/etc/init.d/vpnserverを編集
tap_vlan使わなくなったので、マニュアルにある標準どおりにしてみる。
https://ja.softether.org/4-docs/1-manual/7/7.3

#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case “$1” in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo “Usage: $0 {start|stop|restart}”
exit 1
esac
exit 0

/etc/network/interfaces の br0 の設定はブリッジとして使うため残す。
auto br0
iface br0 inet static
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_maxwait 10

/etc/dhcpcd.conf は元通りeth0はコメント。無線LANはついでに表記。
#interface eth0
#static ip_address=192.168.1.10/24
#static routers=192.168.1.1
#static domain_name_servers=192.168.1.1

interface wlan0
static ip_address=192.168.1.11/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

無線LANルータでtcp443,udp500,udp4500のアクセスをwlan0(192.168.1.11)に設定。
SoftEther の Manager でアクセスする先も.10から.11に変更。

ここまでで、内部から192.168.1.11あてに接続して無線LANルータからDHCPで割り当てられてVPNが確立できる。外部からアクセスすると無理。仮想のtap_vlanとやらを使わなくても元の状態にはなった。

ここから仮想HUBを2段にして、1段目でDHCPのファイアウォールにする設定をいれる。

2段目用に仮想HUB VPN2 を作成。

1段目のVPNは今までのユーザを削除してブリッジ用のユーザbridgeuserを作成。
DHCPプロトコルの IPv4のUDP ポート67-68と、IPv6のUDPポート546-547をブロック

2段めのVPN2は今までのユーザを追加して、ブリッジ用のユーザbrudgeuserを使ってカスケード接続。

2段めにはDHCPの割り当てもできるように設定。

SoftEther VPN Server に 外部から接続できない問題

iPhoneやiPadで外からつなげたときに、つながったりつながらなかったり。というか大半つながらない。
エラーメッセージは、どこかのサイトからコピペだけどこれ。
”L2TP-VPNサーバが応答しませんでした。もう一度接続してください。それでも問題が解決しない場合は、設定を確認し、管理者に問い合わせてください。”

原因だけど、ルータのDHCPログを見ると、割り当てたいのに受け取ってくれない。そうなるとエラー。
受け取れるIPを割り当てるとつながる。
内部の場合はDHCPだけどIP固定で割り振ってるので必ず成功。
MACアドレスをSoftEtherがどう割り当ててるかわからないけど、arpテーブルでMACとIP紐付けてるのと合ってないとうまく受け取れないとかそんなんじゃないかな。

どうやって解決するかが問題。

参考に。
[SoftEther VPN] 繋がらない原因を探している時に SecureNAT の存在に気づいて ON にしたら繋がるようになった。

[SoftEther VPN] 繋がらない原因を探している時に SecureNAT の存在に気づいて ON にしたら繋がるようになった。

というのがあったけど、ONにしても割り当ててくれないし、なんかループしてるみたいにログが馬鹿みたいに増える。ネットワークも遅くなった気がするのでこれは無理。早々にOFFにする。

ルータに戻ってDHCPの割り当て範囲をいろいろ変えてうまくつながったときに、SoftEtherからのMACアドレスをルータ側でIP固定しておく。これで1台だけはつながる。iPhoneとiPadどちらからでもルータから見ると同じMACで来る。なので2台同時につながらないのもなんとなく納得。iPad経由でテザリングしたMacBookAirからもVPN可能。MACアドレスは同じく見えるので同じIPが割り当てられる。1台つながると他のはつながらない。

MACアドレスが変わらなければこれで1台はうまくいくんじゃないかなぁ。
1台しかつながらないってこんなんでいいのかって気はするけど。

翌朝iPadはつながるけどiPhoneはつながらない。別のMACつかんでるんだろうな。そりゃ変わるよね。

Raspberry Pi 3 に SoftEther VPN Server 設定

この方針なら参照記事はかなり増えるはず。

全部ラズパイで。

参照はここ。

Raspberry PiとSoftEtherでVPN接続(Raspbian Jessie)

ブリッジ作ったりとかするみたいですね。参考になる。
sudo apt-get install bridge-utils

/etc/dhcpcd.confで固定IP設定を解除

sudo nano /etc/network/interfaces
まねまねで最後の方とauto eth0ってのを追加
auto lo
iface lo inet loopback
auto eth0
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

auto br0
iface br0 inet static
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_maxwait 10

SoftEther VPN Server のLinux ARM32bit を使う。
wget http://jp.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/32bit_-_ARM_EABI/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-arm_eabi-32bit.tar.gz

tar xvzf ./softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-arm_eabi-32bit.tar.gz

cd vpnserver

make

cd ..
sudo mv vpnserver /usr/local
cd /usr/local/vpnserver
chmod 600 *
chmod 700 vpncmd
chmod 700 vpnserver

sudo nano /etc/init.d/vpnserver
で参考URLのとおり作成。

chmod +x /etc/init.d/vpnserver
chkconfig –add vpnserver
2つめのコマンド失敗したけどreboot。

つぎにManagerからSoftEther Serverの設定。
再起動した後に接続できたので自動起動にはなっているかな。
紹介されているこちらを参照。
http://usicolog.nomaki.jp/engineering/raspberryPi/raspberryPi_VPN.html

元参照と同じくtap_vlanが出てこなかったけどrestartしたら出てきて、無事にVPN接続できた。

外側からのアクセスのためにtcp443 udp500 udp4500を開放。
無事接続できたけど、すぐ接続できなくなる。DHCP周りの問題みたい。後回し。

でも、BDレコーダは騙せず内部としてデータ転送できないので意味が無かったorz