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つかんでるんだろうな。そりゃ変わるよね。