LibreELEC: tinc addonをセットアップする

s905xで使えるVPNを調べてみましたがカーネルモジュールがないのでIKEv2は使えそうもありません。使えそうなVPNはOpenVPNあたりだと思いますが、LibreELECではtinc addonがあったので設定してみることにしました。

設定は次の画面のように設定しました。

設定ファイルは/storage/.kodi/userdata/addon_data/service.system.tinc/.configにあります。LibreELECはsshが使えうように設定しターミナルからログイン(root/libreelec)します。

hostsにクライアント情報を追加します。

hosts/linux:

Subnet = 192.168.123.2/32 
-----BEGIN RSA PUBLIC KEY----- 

-----END RSA PUBLIC KEY-----

tincを再起動します。

systemctl restart service.system.tinc

ifconfigで次のようになっているはずです。

vmnetz    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00   
          inet addr:192.168.123.254  P-t-P:192.168.123.254  Mask:255.255.255.0 
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1 
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:500  
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Client側の設定はLinuxの場合は/etc/tincにあります。

mkdir vmnetz
cd vmnetz

tinc.conf:

cat tinc.conf
 Name = linux
 ConnectTo = libreelec
 port = 6555

tinc-up:

#!/bin/sh
ifconfig $INTERFACE 192.168.123.2 netmask 255.255.255.0

 

tinc.confを作ったらrsaキーを作成します。

tincd -n vmnetz -K

 

メディアサーバと同じ設定にします。

cd vmnetz
cat libreelec
-----BEGIN RSA PUBLIC KEY-----

-----END RSA PUBLIC KEY-----
 Address = 192.168.1.5
 Port = 6555
 Subnet = 192.168.123.0/24

tinc.confのNameで指定したlinuxというファイルが出来ているので編集します。

Subnet = 192.168.123.2/32
 -----BEGIN RSA PUBLIC KEY-----

-----END RSA PUBLIC KEY-----

tincd -n vmnetz -Dでデバッグモードで起動してみます。Ctrl-Cで詳細モードになります。pingでサーバに到達していればVPNに繋がっています。
インターネットからアクセスする場合、LibreELECの設定でAddressが見えるようにする必要があります。今回はやりませんがDynamic DNSなどを使って設定します。またファイヤウォールでポートフォワーディングする必要もあります。この場合はポート6555です。