・VMware WorkStationPro
・VM - 自宅サーバーを想定 debian Debian 5.10.162-1 (2023-01-21) x86_64 ・VM - 出先からのクライアント端末を想定 Windows10Pro
目的に即した動作が確認出来たら、本番環境を構築予定
【クライアント】
【VPNサーバー】
UPnPは、パケット遅延に厳しいらしい。VM環境で出来ても、インターネット経由では、パケット遅延によりDLNAでの実現は出来ないかもしれない
【クライアント視点】
# apt install bridge-utils openvpn minidlna
・ /etc/network/interfaces.d/ens33
auto ens33 iface ens33 inet static network 192.168.20.0 address 192.168.20.200 netmask 255.255.255.0 broadcast 192.168.20.255 gateway 192.168.20.1 dns-nameservers 8.8.8.8
・ /etc/network/interfaces.d/br0
auto br0 iface br0 inet static pre-up modprobe -a dummy pre-up ip link add dummy1 type dummy post-down ip link del dummy1 type dummy post-down modprobe -r dummy network 192.168.100.0 address 192.168.100.200 netmask 255.255.255.0 broadcast 192.168.100.255 bridge_ports dummy1
・ /etc/openvpn/server/openvpn.conf
client-to-client の必要可否確認要
port 1194 proto udp dev tap ca /etc/openvpn/cert/ca.crt cert /etc/openvpn/cert/openvpn.example.com.crt key /etc/openvpn/cert/openvpn.example.com.key dh /etc/openvpn/cert/dh.pem server-bridge 192.168.100.0 255.255.255.0 192.168.100.91 192.168.100.95 push "dhcp-option DNS 192.168.100.200" push "dhcp-option DOMAIN example.com" client-to-client keepalive 10 120 tls-auth /etc/openvpn/cert/ta.key 0 cipher AES-256-CBC user nobody group nogroup persist-key persist-tun status /var/log/openvpn/openvpn-status.log log-append /var/log/openvpn/openvpn.log verb 3 explicit-exit-notify 1 crl-verify /etc/openvpn/crl/crl.pem
・ /lib/systemd/system/openvpn-bridge.service
OpenVPN起動後に、tap0ネットワークデバイスが生成されるので、tap0とbr0をブリッジ接続を行う。
[Unit] Description=OpenVPN Bridge service Requires=openvpn-server@openvpn.service After=openvpn-server@openvpn.service [Service] Type=oneshot RemainAfterExit=yes ExecStartPre=/usr/bin/sleep 5 ExecStart=/usr/bin/bash -c "/sbin/brctl addif br0 tap0 && /sbin/ip link set tap0 up" ExecStop=/bin/true ExecStopPost=/sbin/brctl delif br0 tap0 [Install] WantedBy=multi-user.target
Requires=openvpn-server@openvpn.service
openvpn-server@openvpnが起動していない場合は、openvpn-bridge.serviceは起動しない。
After=openvpn-server@openvpn.service
openvpn-server@openvpnが起動した後に、openvpn-bridge.serviceは起動する。
OpenVPNが起動完了前(tap0デバイスが生成される前)に、openvpn-bridge.serviceが起動してしまうので、起動遅延を入れている
・ /etc/minidlna.conf
# This is the configuration file for the MiniDLNA daemon, a DLNA/UPnP-AV media # server. #user=minidlna #merge_media_dirs=no #db_dir=/var/cache/minidlna #log_dir=/var/log/minidlna #log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn #presentation_url=/ #serial= #model_name=Windows Media Connect compatible (MiniDLNA) #model_number= #inotify=yes #strict_dlna=no #enable_tivo=no #tivo_discovery=bonjour #notify_interval=895 #minissdpdsocket=/run/minissdpd.sock #force_sort_criteria= #max_connections=50 #wide_links=no media_dir=/media/video network_interface=br0 port=8200 friendly_name=Home DLNA Server: MiniDLNA root_container=B album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
・ C:\Users\ユーザー名\OpenVPN\config\client.ovpn
client dev tap proto udp remote 192.168.20.200 1194 resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server key-direction 1 cipher AES-256-CBC verb 3 <ca> 省略 (CA証明書をコピペ) </ca> <cert> 省略 (クライアント証明書をコピペ) </cert> <key> 省略 (クライアント証明書の鍵ファイルをコピペ) </key> <tls-auth> 省略 (ta.keyをコピペ) </tls-auth>
OpenVPNのネットワークデバイス名を変更する。(VLC設定で利用。入力ミスを防ぐため、名称を簡潔にした)
コントロール パネル > ネットワークとインターネット > ネットワーク接続
「OpenVPN TAP-Windows6」 → 「TAP0」 に名称変更
Windowsファイアーウオールで警告メッセージが表示されない場合は、Windowsファイアーウオールの詳細設定
[受信の規則]の「VLC media player」2か所において、プロファイル(パブリック/プライベート)を確認の事。
適切に設定していないと、後述のVLC設定を行っても、MiniDLNAサーバーにアクセス出来ない。
= 設定 =
= 確認 =
正しく設定出来ていれば、「HOME DLNA Server: MiniDLNA」と表示される。
この後は、「「HOME DLNA Server: MiniDLNA」をクリックすれば、動画ファイルが表示され、視聴したい動画ファイルをダブルクリックして視聴できる