NanoPi M4 に SoftEher をインストールした時のメモ
まず最初にライブラリのアップデート
1 2 3 |
# apt-get update |
続いて、アップデートした内容をインストール
1 2 3 |
# apt-get upgrade |
ここでエラー
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Setting up hostapd (2:2.6-15ubuntu2.5) ... Job for hostapd.service failed because the control process exited with error code. See "systemctl status hostapd.service" and "journalctl -xe" for details. invoke-rc.d: initscript hostapd, action "restart" failed. ● hostapd.service - Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator Loaded: loaded (/lib/systemd/system/hostapd.service; disabled; vendor preset: enabled) Active: failed (Result: exit-code) since Mon 2020-03-30 06:28:41 UTC; 21ms ago Process: 27589 ExecStart=/usr/sbin/hostapd -P /run/hostapd.pid -B $DAEMON_OPTS ${DAEMON_CONF} (code=exited, status=1/FAILURE) Mar 30 06:28:41 NanoPi-M4 systemd[1]: Starting Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator... Mar 30 06:28:41 NanoPi-M4 hostapd[27589]: Configuration file: /etc/hostapd/hostapd.conf Mar 30 06:28:41 NanoPi-M4 hostapd[27589]: Could not open configuration file '/etc/hostapd/hostapd.conf' for reading. Mar 30 06:28:41 NanoPi-M4 hostapd[27589]: Failed to set up interface with /etc/hostapd/hostapd.conf Mar 30 06:28:41 NanoPi-M4 hostapd[27589]: Failed to initialize interface Mar 30 06:28:41 NanoPi-M4 systemd[1]: hostapd.service: Control process exited, code=exited status=1 Mar 30 06:28:41 NanoPi-M4 systemd[1]: hostapd.service: Failed with result 'exit-code'. Mar 30 06:28:41 NanoPi-M4 systemd[1]: Failed to start Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator. dpkg: error processing package hostapd (--configure): installed hostapd package post-installation script subprocess returned error exit status 1 Errors were encountered while processing: hostapd E: Sub-process /usr/bin/dpkg returned an error code (1) |
hostapd がエラーが発生している模様。
詳細を見てみる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
root@NanoPi-M4:~# systemctl status hostapd.service ● hostapd.service - Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator Loaded: loaded (/lib/systemd/system/hostapd.service; disabled; vendor preset: enabled) Active: failed (Result: exit-code) since Mon 2020-03-30 06:28:41 UTC; 5min ago Process: 27589 ExecStart=/usr/sbin/hostapd -P /run/hostapd.pid -B $DAEMON_OPTS ${DAEMON_CONF} (code=exited, status=1/FAILURE) Mar 30 06:28:41 NanoPi-M4 systemd[1]: Starting Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator... Mar 30 06:28:41 NanoPi-M4 hostapd[27589]: Configuration file: /etc/hostapd/hostapd.conf Mar 30 06:28:41 NanoPi-M4 hostapd[27589]: Could not open configuration file '/etc/hostapd/hostapd.conf' for reading. Mar 30 06:28:41 NanoPi-M4 hostapd[27589]: Failed to set up interface with /etc/hostapd/hostapd.conf Mar 30 06:28:41 NanoPi-M4 hostapd[27589]: Failed to initialize interface Mar 30 06:28:41 NanoPi-M4 systemd[1]: hostapd.service: Control process exited, code=exited status=1 Mar 30 06:28:41 NanoPi-M4 systemd[1]: hostapd.service: Failed with result 'exit-code'. Mar 30 06:28:41 NanoPi-M4 systemd[1]: Failed to start Advanced IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator. |
hostapd はWiFi の基地局をする機能で、hostapdを使えば WiFi の中継局に使ったり、WiFiで直接Nano Pi につなぐ アドホック接続するのに使える。
今は使ってないので削除 see you
1 2 3 |
$ sudo apt remove hostapd |
SoftEther のインストール
必要なライブラリのインストール
1 2 3 4 5 |
$ sudo apt-get install libreadline6-dev $ sudo apt-get install libncursesw5-dev $ sudo apt-get install libncurses5-dev |
ソースのダウンロードして解凍
1 2 3 4 |
$ wget https://jp.softether-download.com/files/softether/v4.34-9744-beta-2020.03.20-tree/Source_Code/softether-src-v4.34-9744-beta.tar.gz $ tar xzvf ./softether-src-v4.34-9744-beta.tar.gz |
解凍されたソースに移動して、 configure 実行
1 2 3 4 |
$ cd v4.34-9744/ $ ./configure |
前の記事でお知らせした通りの変更をする。
さらに、インストールするディレクトリも、/usr/ から /usr/local/ に変更した。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
$ vi Makefile pi@NanoPi-M4:~/work/softeher/v4.34-9744$ diff Makefile.org Makefile 65c65 < OPTIONS_COMPILE_DEBUG=-D_DEBUG -DDEBUG -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -g -fsigned-char -m64 --- > OPTIONS_COMPILE_DEBUG=-D_DEBUG -DDEBUG -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -g -fsigned-char -march=armv8-a+crypto+crc 67c67 < OPTIONS_LINK_DEBUG=-g -fsigned-char -m64 -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz --- > OPTIONS_LINK_DEBUG=-g -fsigned-char -march=armv8-a+crypto+crc -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz 69c69 < OPTIONS_COMPILE_RELEASE=-DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -O2 -fsigned-char -m64 --- > OPTIONS_COMPILE_RELEASE=-DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -O2 -fsigned-char -march=armv8-a+crypto+crc 71c71 < OPTIONS_LINK_RELEASE=-O2 -fsigned-char -m64 -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz --- > OPTIONS_LINK_RELEASE=-O2 -fsigned-char -march=armv8-a+crypto+crc -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz 74,76c74,76 < INSTALL_VPNSERVER_DIR=/usr/vpnserver/ < INSTALL_VPNBRIDGE_DIR=/usr/vpnbridge/ < INSTALL_VPNCLIENT_DIR=/usr/vpnclient/ --- > INSTALL_VPNSERVER_DIR=/usr/local/vpnserver/ > INSTALL_VPNBRIDGE_DIR=/usr/local/vpnbridge/ > INSTALL_VPNCLIENT_DIR=/usr/local/vpnclient/ |
makeの実行
1 2 3 |
$ make |
インストール
1 2 3 |
$ sudo make install |
以下のメッセージが表示され、無事
1 2 3 4 5 6 7 8 |
Installation completed successfully. Execute 'vpnserver start' to run the SoftEther VPN Server background service. Execute 'vpnbridge start' to run the SoftEther VPN Bridge background service. Execute 'vpnclient start' to run the SoftEther VPN Client background service. Execute 'vpncmd' to run SoftEther VPN Command-Line Utility to configure VPN Server, VPN Bridge or VPN Client. |
動作チェック
1 2 3 |
$ sudo vpncmd |
質問には以下の順で答える(雑です)
1 2 3 4 5 |
ツールの選択は3を指定 Select 1, 2 or 3: 3 PN Tools>check |
全て pass してることを確認
起動
1 2 3 |
$ sudo vpnserver start |
最低限の設定
管理者パスワードを設定
1 2 3 4 5 |
$ sudo ./vpncmd ツールの選択は1を指定 Select 1, 2 or 3: 1 |
パスワード設定
1 2 3 |
VPN Server>ServerPasswordSet パスワード |
自動起動させたい場合
systemd に登録
1 2 3 |
$ sudo vi /etc/systemd/system/softeher.service |
softeher.service に以下を記載
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=Softether VPN Server Service After=network.target [Service] Type=forking User=root ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop Restart=on-abort WorkingDirectory=/usr/local/vpnserver/ [Install] WantedBy=multi-user.target |
Makefile でインストールディレクトリを変更してない場合は、
/usr/local/ を /usr/ などに変更してください。
反映
1 2 3 |
$ sudo systemctl daemon-reload |
起動確認
1 2 3 |
$ sudo systemctl start softeher |
自動起動するように設定
1 2 3 |
$ sudo systemctl enable softeher.service |