最近6 ~7年ぐらい使っていた自宅サーバーを新しいものに置き換えたのでその時苦戦したSoftether周りのセットアップを残しておきたいと思います。
パッケージ
これはBridgeの確認用にインスコする
apt install bridge-utils
ネットワークの設定
最近のUbuntuはネットワーク設定をNetPlanに移行しました。これは前回も書いてるので説明は端折りますね。
network:
version: 2
ethernets:
enp2s0:
dhcp4: false
dhcp6: false
tap_vpn:
dhcp4: false
dhcp6: false
optional: true
bridges:
br0:
dhcp4: false
dhcp6: true
interfaces:
- enp2s0
- tap_vpn
addresses: [192.168.x.xxx/24]
gateway4: 192.168.x.xxx
nameservers:
addresses: [192.168.x.xxx]
Bridge内部でのForwarding設定
今回これにどハマりしました… 最近のUbuntuではBridge内部の通信もiptablesによってフィルタリングされてるみたいで、tapがDHCPサーバーと通信できなくてVPNが繋がらない現象が起きます… そのためiptablesを書き換える必要があります。
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
Ubuntuだとiptablesの設定が保存できないのですが、以下のパッケージをインスコすることで解決できます。
apt install iptables-persistent
おまけ: AndroidのL2TPは何故かURLでの名前解決ができない
これも意味がわからん話ですが、iPhoneでは普通に接続できるのにAndroidでは全く接続できない現象が起きました… ですが、IPアドレスを直接入力すると普通にアクセスできるようになりますw
なのでOpenVPNの方を使うことで解決しました! Softetherはいろんな接続方法が使えるのでほんと便利です!!