どうもみむらです。
VPN 越しに NAS のコンテンツに、しかも DLNA 対応アプリ経由で触りたいと思ったことはありませんか。
数ヶ月前に NAS を購入して、速攻で静音化の記事 ( ASUSTOR DataSync Center の HDD アクセスを静かにする ) を書いたりしていたのですが、DLNA 経由で音楽ファイルに触れるようにしてみた所これが大変使いやすく、ぜひ VPN 越しにもこれを享受したい・・と。。
DLNA は UPnP を用いており、その機器発見に SSDP (1900/udp) を用いているのですが、早い話が VPN 越しにブロードキャストが上手く動作しないので、これを改善してみようというそういう話です。
1.サーバから VPN 感を感じ取れないようにする
DLNA は同一ネットワーク上での動作を想定しているものになります。
他のネットワークからアクセスしようとすると上手く動いてくれないケースがいくつか見られましたので、下記のようにしてサーバからの 「VPN 感」を少し消してみます。

NAS 側には “192.168.1.0/24” のネットワークに属しているように見せ、VPN 用に “192.168.1.224/28” のネットワークを用意しておきます。
VPN サーバには Proxy ARP の設定を入れて、192.168.1.0/24 のネットワーク上からも 192.168.1.224/28 の端末の MAC アドレスの解決 (といっても VPN サーバが指し示されるだけ)が出来るようになります。
なお、Proxy ARP については、こちらのサイトが詳しいですので参照ください:
Proxy ARP(プロキシARP)とは / ネットワークエンジニアとして
https://www.infraexpert.com/study/gateway.htm
具体的な設定方法としては
“/proc/sys/net/ipv4/conf/<device>/proxy_arp” を 1 に書き換えるか
systemd-networkd の “[Network]” セクションに “IPv4ProxyARP=yes” とする方法が
簡単かなと思います。
設定する際は、“192.168.1.0/24” の方に ProxyARP の設定を適用する形になります。
systemd-networkd の設定例)
# cat /etc/systemd/network/eth0.network
[Match]
Name=eth0
[Network]
Address=192.168.1.240/24
Gateway=192.168.1.254
IPv4ProxyARP=yes
# cat /etc/systemd/network/eth1.network
[Match]
Name=eth1
[Network]
Address=192.168.1.238/28
[Link]
MTUBytes=12002. SSDP をプロキシする
探索プロトコルの通信を転送するようにしてみます。
転送しないと探索が VPN のネットワーク内で閉じてしまい、本来の機器まで届かなくなってしまいます。
SSDP の中身は概ね下記のような HTTP ベースの通信になっています。
# リクエストの例。(クライアントからサーバに対して送る)
# 239.255.255.250:1900/UDP に対して送出される
---
M-SEARCH * HTTP/1.1
MX: 5
ST: urn:schemas-upnp-org:device:MediaServer:1
MAN: "ssdp:discover"
User-Agent: UPnP/1.0
Host: 239.255.255.250:1900
Connection: close
---
# 応答例。
# サーバからリクエストを行ったクライアントのポートに対してユニキャストで応答が入る
---
HTTP/1.1 200 OK
Cache-Control: max-age=1800
EXT:
Location: http://192.168.1.22:55247/dms
Server: Linux 4.0.0 UPnP/1.0
ST: urn:schemas-upnp-org:device:MediaServer:1
USN: uuid:xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx::urn:schemas-upnp-org:device:MediaServer:1
Date: Sun, 16 May 2021 19:42:50 GMT
---見ていただくとわかるように、応答の中にユニキャストアドレスが含まれているため、発見処理のみプロキシしてあげれば後は1対1での通信となります。
ということで下記のようなプログラムを書いてみました
#!/bin/python3
#
# SSDP (DLNA の探索プロトコル) を吸って吐くプロキシ。
# Wireguard のように純粋にbridgeできないネットワーク間で使うと幸せになれる気がします。
# (使ったことでネットワークがダウン等しても保証は出来ませんので、自己責任でどうぞ。)
#
# Author : Satoshi Mimura (@mimura1133)
#
import socket
from contextlib import closing
def main():
multicast_group = '239.255.255.250'
src_adapter_ip = '' # DLNA クライアントがいるネットワークの IP アドレスを指定
dst_adapter_ip = '' # DLNA サーバがいるネットワークの IP アドレスを指定
port = 1900
timeout = 5.0
with closing(socket.socket(socket.AF_INET,socket.SOCK_DGRAM)) as src_sock:
src_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
src_sock.bind(('',port))
src_sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP,
socket.inet_aton(multicast_group) + socket.inet_aton(src_adapter_ip))
while True:
request_data, client_addr = src_sock.recvfrom(4096)
with closing(socket.socket(socket.AF_INET,socket.SOCK_DGRAM)) as dst_sock:
dst_sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_IF, socket.inet_aton(dst_adapter_ip))
dst_sock.settimeout(timeout)
dst_sock.sendto(request_data,(multicast_group,port))
print("\033[31m [FORWARDED:REQUEST]\033[0m {} -> {}".format(client_addr,(multicast_group,port)))
print(request_data)
while True:
try:
response_data, server_addr = dst_sock.recvfrom(4096)
src_sock.sendto(response_data,client_addr)
print("\033[32m [FORWARDED:RESPONSE]\033[0m {} -> {}".format(server_addr,client_addr))
print(response_data)
except Exception:
break
return
if __name__ == '__main__':
main()動かしてみた結果は下図の通り。中々上手く動いてます。


3.永続化する
毎回手動で起動するのは筋がよくありませんので、systemd のサービスにしてしまいましょう。
まずは、先ほどの Proxy をするプログラムからデバッグ用の print 文を消去したものを準備します。
#!/bin/python3
#
# SSDP (DLNA の探索プロトコル) を吸って吐くプロキシ。
# Wireguard のように純粋にbridgeできないネットワーク間で使うと幸せになれる気がします。
# (使ったことでネットワークがダウン等しても保証は出来ませんので、自己責任でどうぞ。)
#
# Author : Satoshi Mimura (@mimura1133)
#
import socket
from contextlib import closing
def main():
multicast_group = '239.255.255.250'
src_adapter_ip = '' # DLNA クライアントがいるネットワークの IP アドレスを指定
dst_adapter_ip = '' # DLNA サーバがいるネットワークの IP アドレスを指定
port = 1900
timeout = 5.0
with closing(socket.socket(socket.AF_INET,socket.SOCK_DGRAM)) as src_sock:
src_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
src_sock.bind(('',port))
src_sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP,
socket.inet_aton(multicast_group) + socket.inet_aton(src_adapter_ip))
while True:
request_data, client_addr = src_sock.recvfrom(4096)
with closing(socket.socket(socket.AF_INET,socket.SOCK_DGRAM)) as dst_sock:
dst_sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_IF, socket.inet_aton(dst_adapter_ip))
dst_sock.settimeout(timeout)
dst_sock.sendto(request_data,(multicast_group,port))
while True:
try:
response_data, server_addr = dst_sock.recvfrom(4096)
src_sock.sendto(response_data,client_addr)
except Exception:
break
return
if __name__ == '__main__':
main()上記を /usr/local/sbin/proxy_dlna.py として保存しておきます。
保存が完了したら下記のように systemd のサービスを作成します。
今回は下記の内容を /etc/systemd/system/proxy_dlna.service として作成しました。
[Unit]
Description=Launch DLNA Proxy (/usr/local/sbin/proxy_dlna.py)
# After=wg-quick@wg0.service #WireGuard を使っている場合はこうしておくと WireGuard が起動した後に起動するようになります。
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/proxy_dlna.py
[Install]
WantedBy=multi-user.target保存が完了しましたら systemctl enable proxy_dlna 等で有効にすれば完了です。
手順は以上となります。
ただ上記のようなプロキシで全て動作するかというとそうではなく、特に DTCP-IP 等を用いるシステムの場合は「TTL は 3ホップ以下」「RTT は 7ms 以下」という制約が存在するため実現するのが大変難しい状況になっています。
もしそのような場合については NTT の NGN 網の特殊性を用いて回避しているケースや、L2TPv3 などを上手く組み合わせて回避しているケースがネット上にいくつか転がっていますのでそちらを用いるのが良いかなと思われます。
とはいえ、当方環境ではこれで VPN ライフがかなり改善されましたので、もしよろしければ参考にしていただけたらと!
https://ameblo.jp/shanefowler3398/entry-12950538961.html
Opt for non-creasing, moveable materials similar to scuba or lace, teamed with fashionable however sensible footwear for that added touch of glamour.
https://clcqlue.amebaownd.com/posts/58362477
You could go for a nice dress with draping around the mid space in black and white print.
https://classic-blog.udn.com/e8a59eff/184099088
Opt for non-creasing, moveable fabrics corresponding to scuba or lace, teamed with trendy however sensible footwear for that added touch of glamour.
http://jenniferparker.webnode.page/l/new5/
Your costume ought to complement or distinction the colour scheme quite than match it.
https://classic-blog.udn.com/e1bf31e4/183918467
This will complete your outfit and bring it collectively as a complete.
https://classic-blog.udn.com/675cfb39/183720243
We love spring colours like blush, gold, pale green, and blue together with floral prints for mother of the bride dresses for spring weddings.
https://classic-blog.udn.com/611d0699/184015366
Sleeveless, short-sleeved, or 3/4 length, there is an option for almost everyone!.
https://classic-blog.udn.com/714a1f8c/183771291
But, if I might add some personal recommendation, ENJOY the journey and strategy of it.
https://classic-blog.udn.com/c43b390a/183883643
The mother of the bride and mother of the groom usually put on fully different dress kinds and colours.
https://lqsrhfwupe.wixsite.com/my-site-1/post/____3
A stylishly simple occasion costume printed with romantic florals, perfect for the mom of the bride.
https://richardsmith5040.webnode.page/l/new3/
Here’s a tea-length mother-of-the-bride gown you presumably can simply pull out of your wardrobe time and time once more.
https://classic-blog.udn.com/f569bdb0/184316000
This will assist her find the complementary ensemble and prevent her from being over or underdressed.
https://ameblo.jp/tonyathornton6964/entry-12949395180.html
Many ladies are concerned about exposing their higher arms.
https://classic-blog.udn.com/c10ed488/183965314
We’ve at all times heard that mom is conscious of greatest, and if these mothers of the bride—and mothers of the groom!
https://classic-blog.udn.com/f569bdb0/184315936
Stylish blue navy dress with floral sample lace and wonderful silk lining, three-quarter sleeve.
https://classic-blog.udn.com/2ce1410b/183986975
The distinction between these two gowns is in how they’re selected.
https://classic-blog.udn.com/dad12f4a/183747497
Look for cinched-in jackets that received’t only hide her wobbly bits, but also help her change her look from day to night.
https://classic-blog.udn.com/d27bf00f/184028486
It’s essential to guarantee that any head pieces don’t swamp your body, and doesn’t disguise your face.
https://drdonald6479.wixsite.com/my-site-1/post/____3
This mom’s robe featured a striped off-the-shoulder neckline that was an attractive complement to the bride’s personal wedding costume.
https://classic-blog.udn.com/788c9710/184009768
The mom of the bride’s Oscar de la Renta robe was such successful, it actually impressed the bridesmaids’ bouquets.
https://classic-blog.udn.com/ca0faad5/184000336
The beaded flowers down one facet add a tactile touch of luxurious to the column dress .
https://classic-blog.udn.com/345aca2f/183874537
If stylish and complex is what you’re going for, consider this sequined ensemble from Alex Evenings.
https://mypaper.pchome.com.tw/evanpeterson36/post/1382131848
Look for cinched-in jackets that will not only hide her wobbly bits, but in addition assist her change her look from day to nighttime.
https://classic-blog.udn.com/7863d1d1/184261932
You should buy long sleeves, a long lace mom of the bride costume, or a stunning ballgown with a boat neckline.
https://kewil2.edublogs.org/2025/11/04/2/
Browse our prime selections and buy your favorite proper on the spot.
https://wendymoore3604.amebaownd.com/posts/58224718
We even have tea-length attire and long attire to swimsuit any season, venue or desire.
https://classic-blog.udn.com/0462acf8/184272394
You will wish to discover something that works in both hot and cold, or discover one thing to keep you warm to go over it.
https://classic-blog.udn.com/237949c6/183881027
Modest meets insanely fashionable on this silky Amsale robe that includes a column silhouette and off-the-shoulder neckline.
https://classic-blog.udn.com/c22974b3/183848532
Another floral option for you , however this time in a fit and flare fashion.
https://classic-blog.udn.com/cde57834/183954301
This black gown is ideal in case you are looking for one thing more basic.
https://classic-blog.udn.com/e1e6711c/183943576
To achieve the perfect stability of comfort and ritual, we have included tea size mother of the bride clothes, too.
https://classic-blog.udn.com/b234bf61/183689893
This brocade robe draws the eye to all the proper places—from a hint of skin on the shoulder to a ruched waist.
https://classic-blog.udn.com/e898a26c/184706861
Don’t be afraid to make an announcement in head-to-toe sparkle.
https://classic-blog.udn.com/c9ae2095/184039887
The bride’s mother clearly had the colour palette in thoughts when she chose this jade lace costume.
https://classic-blog.udn.com/319c09e6/183812886
Think oh-so-elegant baggage and fascinators that’ll complete your Mother of the Bride outfit in critical type.
https://classic-blog.udn.com/5b13d127/183907133
Avoid flashy shades like bright red, pink or yellow because the dress could stand out an extreme amount of.
https://classic-blog.udn.com/1f705fab/184094107
Think about the colors you’re feeling best in and the sorts of outfits that make you shine.
https://classic-blog.udn.com/81ad2236/183862195
Whether you could have your coronary heart on embroidery, embellishment, sequin, or ruched silk smoothness, golden clothes look nice in all styles and designs.
https://valeriehodge1889.exblog.jp/35818987/
Otherwise, photographs will appear off-balanced, and it could be misconstrued that one mom is attempting to outshine or outdo the other.
https://classic-blog.udn.com/1f85a7a3/183848770
Metallics are a great different to neutrals, as are floral prints in complementary hues.
https://telegra.ph/accounting-7-10-27
This bride’s mom escorted her down the aisle in a floor-length golden gown with a floral overlay.
https://sagdcooo.wordpress.com/2025/12/22/1-2/
A neat shift gown that sits beneath the knee, a tailored jacket, and some type of fussy fascinator or royal wedding-worthy hat.
https://portfolio-whqwtzp.format.com/blog/469273
If you’re in a pinch, many e-commerce websites like Net-a-Porter or Nordstrom provide rush transport.
https://mypaper.pchome.com.tw/gracecarter750/post/1382129462
If you haven’t heard from her by about 5 months before the wedding, don’t be afraid to reach out and ask for an update on the gown code.
https://kathyhill.exblog.jp/35294338/
Saks is well one of the best department shops for purchasing a mother-of-the-bride costume.
https://tonyathornton.webnode.page/l/seo/
When in doubt, go for slightly black dress—but make it super luxe.
https://classic-blog.udn.com/c3e4b423/183826555
For a beautiful look, select a celebratory design that includes lace and lengthy sleeves.
https://sites.google.com/view/marketing-11-5-2025/home
The navy gown gives the look of separates but is actually a one-piece.
https://williamwilliams9445.webnode.page/l/new4/
Speak with the bride to get her thoughts on this and see what’s available in shops and on-line.
https://mypaper.pchome.com.tw/miastewart64/post/1382132727
Inspired by bold flowers, a blooming print pops off every inch of this strapless ball robe, from the illusion plunge corset bodice to the full, sweeping skirt.