softetherのインストール・ネットワークブリッジ設定のメモ(暫定更新版) (original) (raw)

Pi4にてKodiの運用するにあたって、併せてSoftetherもインストールする。

以前は下記通りで問題なかったが、今回ブリッジの設定時に失敗したのでもう一度整理してみる。

ブリッジを設定する理由は、Linuxの制限でVPNサーバーと同じハードにインストールしたDLNAサーバ(kodi)を使用できないため、PI3をVPN専用にしても良いかも。

Pi Connectからメンテナンスするなら、ブリッジ無しでも問題ないのでは?要検証。

(Pi Connectの安定性によるので、当面はブリッジは必要と判断。)

ncos1.hatenablog.comセットアップは以前の手順を参照

ncos1.hatenablog.com

ncos1.hatenablog.com

ブリッジユーティリティインストール

sudo apt-get install bridge-utils

/etc/network/interfacesファイル編集

sudo nano /etc/network/interfaces

下記内容を追記

# Ethernet port
auto eth0
iface eth0 inet dhcp

# Bridge interface
auto br0
iface br0 inet dhcp
bridge_ports eth0

bridge_maxwait 10

リブートする

NG、リモートで繋がらなくなった。

ローカルコンソールで操作して、wifiを接続したらがSSH接続できたがVNC・Pi Connect Connectは繋がらなかった。

(検証が必要だが、おそらくネットワーク環境が変わった場合にはVNCは再度イネーブルPi Connectはログアウト後に再度ログインが必要みたい。)

イーサーポートの設定をコメントアウト

# Ethernet port
#auto eth0
#iface eth0 inet dhcp

# Bridge interface
auto br0
iface br0 inet dhcp
bridge_ports eth0

bridge_maxwait 10

ブリッジでネットワークが繋がっているので良い?wifiを切断してもssh接続のみできた。

*記憶が曖昧なので何処でVNCやPiConnectが繋がるようになったかは要検証。

運用中のシステムでは、eth0とbr0両方設定有効で動作しているが、本来ブリッジしたらbr*だけなのかな?

sshリモートOKになったので進める。

ifconfigコマンドで確認 br0ができていること
ifconfig

softetherインストール

wget https://www.softether-download.com/files/softether/v4.42-9798-rtm-2023.06.30-tree/Linux/SoftEther_VPN_Server/64bit_-_ARM_64bit/softether-vpnserver-v4.42-9798-rtm-2023.06.30-linux-arm64-64bit.tar.gz

wget以降のアドレスは公式ダウンロードサイトからインストールしたいバージョンのリンクを取得する。

解凍 tar zxvf ダウンロードしたファイル名をコピペ

tar zxvf softether-vpnserver-v4.42-9798-rtm-2023.06.30-linux-arm64-64bit.tar.gz

sudo mv vpnserver /usr/local/bin/

cd /usr/local/bin/vpnserver/
sudo make

実行権限を付与
sudo chmod 600 *
sudo chmod 700 vpncmd
sudo chmod 700 vpnserver

チェックしてOKな事
sudo ./vpncmd

メニューから3を選択後

VPN Tools>check

問題無ければすべての結果が ”〇” になっている。

VPN Tools>exit で終了

デーモンサービス化、再起動後も自動でsoftetherが自動で起動するようにする。

# サービス起動ファイルの作成 (名前は任意今回は、softether-vpn.service)

sudo nano /etc/systemd/system/softether-vpn.service

内容

[Unit]
Description=Softether VPN Server Service
After=network.target
[Service]
Type=forking
User=root
ExecStart=/usr/local/bin/vpnserver/vpnserver start
ExecStop=/usr/local/bin/vpnserver/vpnserver stop
Restart=on-failure
WorkingDirectory=/usr/local/bin/vpnserver/
ExecStartPre=/sbin/ip link set dev eth0 promisc on
[Install]
WantedBy=multi-user.target

注意

ExecStart=/usr/local/bin/vpnserver/vpnserver start
ExecStop=/usr/local/bin/vpnserver/vpnserver stop
WorkingDirectory=/usr/local/bin/vpnserver/

のパスを間違うと起動しない、解凍・移動したパスである事。

複数のサイトを参照したので間違った事があるので一応注意事項とする。

実行権限の付与

sudo chmod +x /etc/systemd/system/softether-vpn.service
デーモンの再起動と起動確認
sudo systemctl daemon-reload
sudo systemctl start softether-vpn
sudo systemctl status softether-vpn

確認出来たら、CTR+Cで終了

自動起動設定
sudo systemctl enable softether-vpn

再起動

sudo reboot

windows端末にインストールした、softetherVPNサーバ管理マネージャから設定を行う。

最初は管理用パスワードを聞いてくるので任意のパスワードを設定。

簡易セットアップは使用しない方法で行うので、何もチェックせず”閉じる”。

フレッツ光ではIPSec使えないみたいなので、”いいえ”(後でも設定変更可能)

仮想HUB”Defolt”を使っても良いが、とりあえず削除して”vpn”で新規作成。

HUBの管理用パスワードを設定、サーバーと同じでも良いがセキュリティ上は別にした方が良い。

HUB”vpn”を選択して”仮想HUBの管理”をクリック

”ユーザーの管理”をクリック 以下は作成済みだが最初は何もない

”新規作成” 任意のユーザーIDとパスワードを入力

この、ユーザーIDとパスワードでvpnに接続するので控えておくこと。

”ローカルブリッジ設定”をクリック

作成した仮想HUB"vpn"とLANカード”br0”の組み合わせで”ローカルブリッジに追加”をクリック

好みのDDNS設定(vpnサーバ名を好きな名前にする)、”ダイナミックDNS設定をクリック”

サーバ名変更すると、証明書再発行されるので任意の場所に保管する。(windows端末からSSTP接続する際に必要)

softetherの証明書インポート方法を参照

windowsの設定・ネットワークとインターネット・VPNVPNを追加

接続名・任意

サーバ名またはアドレス・DDNS設定で変更したサーバ名

VPNの種類・Secure socket トンネリングプロトコル(SSTP)

ユーザー名・仮想HUBで作成したユーザー名

パスワード・仮想HUBで作成したユーザー名のパスワード

で接続可能になる。

ここまで進めても有線LANのみではVNC・Pi Connectに繋がらないので何か間違っていると考えて、RaspiconfigにてVNCをイネーブルにしたらVNCが繋がった。

その後、Pi Connectはログインしているが繋がらない状態だったのでログアウトしてログインしたら繋がるようになった。

IPアドレスは、ブリッジに割り当てられた物なので固定IPにしたい場合は/etc/network/interfacesを編集かMACアドレスを固定してルーター側で静的IPを設定する。

ただし、稼働中のシステムとは動作が異なりSoftetherの接続ができないポートがあり接続できてもVNC接続ができないポートが有るので、やはり /etc/network/interfacesの編集内容の検討が必要と思われる。

暫定版として残しておくが、クリアインストールから手順を再度整理した方が良いかも。(+_+)

2024/09/14追記

使えないポートが有ったのは、サーバー管理アプリポート追加していなかっただけだった。

DDNS設定機能で設定したDDNSホスト名と現在のホスト名が違うことが判明、eth0が有効な状態で設定しているので現在使用中のブリッジ(br0)に再度設定しなければいけないので手順整理時に考慮しなければいけない。

現在設定したDDNSホスト名でサーバー管理アプリから接続できる状態だが、自分自身にVPN接続した場合にはエラーで弾かれる。(他のVPNもしくはVPN未接続なら繋がる。)

eth0はinterfacesで無効化されているがDDNSホスト名は残っている?

configはバックアップしているので、br0のみの状態で鍵の部分のみ復元してみる。

まず現在のconfigを書き出して複製、複製をテキストエディタで編集。

(byte Key の後ろ部分のみ(鍵)を書き換える。)

編集したファイルをインポートしたら一旦切断され、再接続で復旧した。

復旧後は、現在設定したDDNSホスト名でサーバー管理アプリから接続できる状態になったのでやはり、DDNSホスト名等がインターフェイスの変更で異常な状態になってしたのが要因と考えられる。

DDNSホスト名の変更は、全ての設定が完了した後にした方が良いと思われる。

証明書はDDNSホスト名変更しても使える?みたいだが不調なら再作成してインポート。

ncos1.hatenablog.com