いやー、ハマったハマった。
Dockerコンテナ内でSoftEtherVPNの仮想NIC(vpnclient)を使おうとしたら、エラーコード31で進まなかった時の備考録です。
Docker内でTUN/TAPを使うときのメモ-AS2500の最果てで
オプションを付けてコンテナを起動すると、無事に/dev/net/tunが現れました。
地味にドキュメントにしれっと書いてあります...
4.1 動作環境 - SoftEther VPN プロジェクト
地味にリポジトリに「カーネルモジュール追加してね」っていうIssueが上がってたんですが、Dockerホストで仮想NICを追加した時は問題なかったので、結果としてググり方を変えました。
[Solved] Error occurred. (Error code: 31) ・ Issue #148 ・ SoftEtherVPN/SoftEtherVPN ・ GitHub
よくよく考えたら、ハイパーバイザじゃなくてコンテナなので、コンテナ側じゃなくてホスト側でKernel Moduleを追加してあげるんですね...(汗
Dockerコンテナ内でSoftEtherVPNの仮想NIC(vpnclient)を使おうとしたら、エラーコード31で進まなかった時の備考録です。
VPN Client>niccreate yui NicCreate command - Create New Virtual Network Adapter Error occurred. (Error code: 31) Installation of the Virtual Network Adapter device driver failed.
■コンテナに特権を許可する必要がある
普通に「docker run」した場合、/dev/netがありません。# ls -lah /dev/net ls: cannot access '/dev/net': No such file or directory/dev/net/tunを利用する場合には、docker runの際に、特権を許可するオプション「--privilege」が必要です。
docker run -d -t -i \ --privileged \ --name theseed \ sao/theseed /bin/bash結果として、無事に接続ができました。
VPN Client>AccountList AccountList command - Get List of VPN Connection Settings Item |Value ----------------------------+-------------------------------------------- VPN Connection Setting Name |SAO Status |Connected VPN Server Hostname |xxx.xxx.xxx.xxx:443 (Direct TCP/IP Connection) Virtual Hub |Aincrad Virtual Network Adapter Name|yui The command completed successfully.
■動作環境
一応書いておきます、はい。- ConoHa 512M Incetance
- Ubuntu 16.04 LTS + Docker 17.05.0-ce, build 89658be
- Image : ubuntu 0458a4468cbc
- SoftEther Linux Client : v4.25-9656-rtm-2018.01.15
■備考録
ここに答えがありました。Docker内でTUN/TAPを使うときのメモ-AS2500の最果てで
オプションを付けてコンテナを起動すると、無事に/dev/net/tunが現れました。
# ls -lah /dev/netSoftEtherVPN Linux Clientは、「Universal TUN/TAP デバイスドライバモジュール」に依存しています。
total 0 drwxr-xr-x 2 root root 60 Feb 9 21:06 . drwxr-xr-x 14 root root 3.6K Feb 9 21:06 .. crw-rw-rw- 1 root root 10, 200 Feb 9 21:06 tun
地味にドキュメントにしれっと書いてあります...
4.1 動作環境 - SoftEther VPN プロジェクト
Linux 版の VPN Client を動作させるためには、「Universal TUN/TAP デバイスドライバモジュール」が、カーネルに組み込まれている必要があります。詳しくは、http://vtun.sourceforge.net/tun/を参照してください。ホントしれっとですね。
地味にリポジトリに「カーネルモジュール追加してね」っていうIssueが上がってたんですが、Dockerホストで仮想NICを追加した時は問題なかったので、結果としてググり方を変えました。
[Solved] Error occurred. (Error code: 31) ・ Issue #148 ・ SoftEtherVPN/SoftEtherVPN ・ GitHub
よくよく考えたら、ハイパーバイザじゃなくてコンテナなので、コンテナ側じゃなくてホスト側でKernel Moduleを追加してあげるんですね...(汗
コメントする