nkh Posted December 6, 2013 Share #1 Posted December 6, 2013 (edited) Добрый день, не подскажите не сведущему, как организовать TAP интерфейс и объединить его в мост для OpenVPN. Хочется организовать VPN канал с "сетевым окружением", заранее благодарен за любые ответы по теме Поправил название темы, т.к. сейчас проблема с передачей broadcast через brctl (bridge-utils) Разобрался, читаем как все это настроить Edited December 24, 2013 by Guest Link to comment Share on other sites More sharing options...
k0ste Posted December 6, 2013 Share #2 Posted December 6, 2013 Добрый день, не подскажите не сведущему, как организовать TAP интерфейс и объединить его в мост для OpenVPN. Хочется организовать VPN канал с "сетевым окружением", заранее благодарен за любые ответы по теме OpenVPN сам поднимает свои интерфейсы. Link to comment Share on other sites More sharing options...
nkh Posted December 7, 2013 Author Share #3 Posted December 7, 2013 Меня вот эта статья вдохновила делать такое, там как раз создают сначала мост в системе, а потом запускают openvpn Link to comment Share on other sites More sharing options...
k0ste Posted December 7, 2013 Share #4 Posted December 7, 2013 Понял. У нас это ("быть удалённой машиной, но частью локальной сети") реализавано на ospf (пакет quagga). Но всё равно, приведу ссылку, я уже выкладывал во вражеской ветке, скрипт который стартует openvpn. Как видно, интерфейсы стартуют. Link to comment Share on other sites More sharing options...
nkh Posted December 12, 2013 Author Share #5 Posted December 12, 2013 Читал эту статью и эту из проделанного: ipkg install quagga переименовал ospfd.conf.sample в ospfd.conf, то же с zebra.conf и vtysh.conf изменил vtysh.conf на service integrated-vtysh-config hostname disk username root zabra log file /var/log/quagga/quagga.log line vty стартанул /etc/sysconfig/quagga/S50quagga после этого # telnet localhost 2604 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. Hello, this is Quagga (version 0.99.15). Copyright 1996-2005 Kunihiro Ishiguro, et al. User Access Verification Password: ospfd# enable ospfd# conf t ospfd(config)# router ospf ospfd(config-router)# ospf router-id 192.168.1.110 ospfd(config-router)# network 10.1.1.1/30 area 0 ospfd(config-router)# network 192.168.1.1/30 area 0 ospfd(config-router)# write Configuration saved to /opt/etc/quagga/ospfd.conf дальше смотрим Disk> vtysh % Unknown command: username root zebra Hello, this is Quagga (version 0.99.16). Copyright 1996-2005 Kunihiro Ishiguro, et al. quagga-router# show interface Interface eth0 is up, line protocol detection is disabled index 2 metric 1 mtu 1500 flags: HWaddr: 00:22:32:08:d6:3c inet 192.168.1.110/24 broadcast 192.168.1.255 inet6 fe80::222:32ff:fe08:d63c/64 Interface lo is up, line protocol detection is disabled index 1 metric 1 mtu 16436 flags: inet 127.0.0.1/8 inet6 ::1/128 quagga-router# интерфейса tap0 нету, его где то включить надо? прописал в /etc/quagga/zebra.conf и /etc/quagga/ospfd.conf, получил ifconfig: Interface tap0 is down pseudo interface куда копать? Link to comment Share on other sites More sharing options...
nkh Posted December 13, 2013 Author Share #6 Posted December 13, 2013 Так, я чуть чуть тупанул. Ладно, дописал в /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf dev tap0 интерфейс стартанул tap0 Link encap:Ethernet HWaddr 22:27:9C:D8:10:78 inet addr:10.8.0.1 Bcast:10.8.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:29 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b) TX bytes:5229 (5.1 Kb) осталось бридж сделать, пока проделал это: ipkg install bridge-utils Осталось найти где находится это: Положим, eth2 — интерфейс, к которому подключена локальная сеть, с назначенным адресом 192.168.168.254. Его настройка выглядела примерно так: config_eth2=( "192.168.168.254/24" ) Поскольку он будет участвовать в мосте, ему не нужно назначать адреса. Также, в мосте участвует вновь создаваемый виртуальный интерфейс tap0, которому тоже не назначается никакого адреса. Адрес, который использовался eth2, назначается теперь мосту br0: config_eth2=( "null" ) tuntap_tap0="tap" config_tap0=( "null" ) depend_br0() { need net.tap0 net.eth2 } # указываем существующие интерфейсы, объединяя их в мост bridge_br0="eth2 tap0" # либо, можно динамически подключать туда вновь появляющиеся интерфейсы #bridge_add_eth2="br0" config_br0=( "192.168.168.254/24" ) Link to comment Share on other sites More sharing options...
k0ste Posted December 13, 2013 Share #7 Posted December 13, 2013 стартанул /etc/sysconfig/quagga/S50quaggaТо ли у тебя не XPEnology, то ли у меня... т.к. у меня тут /opt/etc/init.d/S50quagga. Скидывай zebra.conf, ospfd.conf и ifconfig -a. Я примерно понял что ты пытаешься сделать. Link to comment Share on other sites More sharing options...
nkh Posted December 13, 2013 Author Share #8 Posted December 13, 2013 это я откуда то неверно скопировал, путь тот что ты указал Резюмирую - я теперь не уверен, из-за наличия quagga ли поднялся интерфейс tap0 или из-за того, что я его прописал в конфиге openvpn... Итак, сейчас имею следующее: Disk> ifconfig eth0 Link encap:Ethernet HWaddr 00:22:32:08:D6:3C inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:82671 errors:0 dropped:0 overruns:0 frame:0 TX packets:76970 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:21923257 (20.9 Mb) TX bytes:20728868 (19.7 Mb) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:120725 errors:0 dropped:0 overruns:0 frame:0 TX packets:120725 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:15806384 (15.0 Mb) TX bytes:15806384 (15.0 Mb) tap0 Link encap:Ethernet HWaddr 22:27:9C:D8:10:78 inet addr:10.8.0.1 Bcast:10.8.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:816 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b) TX bytes:105993 (103.5 Kb) насколько я всё понял из этой статьи, теперь нужно объединить интерфейсы eth0 и tap0 в бридж. Но как то не нашел файл интерфейсов (типа /etc/network/interfaces). Бридж создаст quagga? zebra.conf ! -*- zebra -*- ! ! zebra sample configuration file ! ! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $ ! hostname Router password zebra enable password zebra ! ! Interface's description. ! interface lо interface eth0 ! !interface sit0 ! bandwidth !multicast ! ! Static default route sample. ! !ip route 0.0.0.0/0 203.181.89.241 ! !log file zebra.log ospfd.conf ! ! Zebra configuration saved from vty ! 2013/12/13 00:00:52 ! hostname ospfd.server password zebra log stdout ! ! ! interface eth0 interface lo ! ! Эти настройки сети я не подтверждаю (взял из одной статьи) router ospf ospf router-id 10.1.1.1 redistribute connected route-map Local_Network network 10.1.1.1/24 area 0.0.0.0 network 192.168.1.1/16 area 0.0.0.0 area 0.0.0.0 authentication message-digest ! line vty ! Link to comment Share on other sites More sharing options...
nkh Posted December 15, 2013 Author Share #9 Posted December 15, 2013 Остановился пока на работе бриджа (или его не работе) Делаю пока так: insmod /lib/modules/stp.ko insmod /lib/modules/bridge.ko brctl addbr br0 brctl addif br0 eth0 tap0 сам bridge-utils интерфейс не создает, tap0 появляется после запуска openvpn, далее выполняю скрипт: case "$1" in start) insmod /lib/modules/stp.ko insmod /lib/modules/bridge.ko ifconfig tap0 0.0.0.0 promisc up ifconfig eth0 0.0.0.0 promisc up brctl addbr br0 brctl addif br0 eth0 brctl addif br0 tap0 brctl stp br0 on ifconfig br0 192.168.1.110 netmask 255.255.255.0 broadcast 192.168.1.255 promisc up route add default gw 192.168.1.1 dev br0 route add -net 192.168.1.0 netmask 255.255.255.0 dev br0 # /bin/echo "Restarting network services" # /usr/syno/etc.defaults/rc.d/S95sshd.sh restart ;; stop) ifconfig br0 down brctl delbr br0 ifconfig eth0 192.168.1.110 netmask 255.255.255.0 broadcast 192.168.1.255 ;; *) ;; esac exit 0 поднимается tap0 и собственно мост br0. в конфиге сервера /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf push "route 192.168.1.0 255.255.255.0" push "route 192.168.1.255 255.255.255.255" push "route 192.168.1.0 255.255.255.255" dev tap0 #management 127.0.0.1 1195 local 192.168.1.110 dh /var/packages/VPNCenter/target/etc/openvpn/keys/dh1024.pem ca /var/packages/VPNCenter/target/etc/openvpn/keys/ca.crt cert /var/packages/VPNCenter/target/etc/openvpn/keys/server.crt key /var/packages/VPNCenter/target/etc/openvpn/keys/server.key #server 192.168.1.0 255.255.255.0 server-bridge 192.168.1.110 255.255.255.0 192.168.1.200 192.168.1.220 client-to-client max-clients 5 #client-config-dir /usr/syno/etc/packages/VPNCenter/openvpn/ipp.txt #route 192.168.1.0 255.255.255.0 user nobody group nobody persist-tun persist-key verb 3 #log-append /var/log/openvpn.log #push "dhcp-option WINS 10.8.0.1 keepalive 10 60 reneg-sec 0 comp-lzo plugin /var/packages/VPNCenter/target/lib/radiusplugin.so /var/packages/VPNCenter/target/etc/openvpn/radiusplugin.cnf client-cert-not-required username-as-common-name duplicate-cn подключаюсь, пинг до сервера и сетью за ним идут, из той сети пинг идет до меня, но netbios имена не проходят (в лучшем случае пингуется по имени сам сервер), такие дела! Может быть у кого то есть мысли по этому поводу?? Да, в /etc/stsctl.conf добавил net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-ip6tables = 0 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-arptables=0 net.ipv4.conf.br0.proxy_arp_pvlan=1 net.ipv4.conf.tap0.proxy_arp_pvlan=1 net.ipv4.conf.eth0.proxy_arp_pvlan=1 net.ipv4.conf.default.proxy_arp_pvlan=1 net.ipv4.conf.all.proxy_arp_pvlan=1 net.ipv4.conf.all.proxy_arp=1 net.ipv4.conf.default.proxy_arp=1 net.ipv4.conf.br0.proxy_arp=1 net.ipv4.conf.tap0.proxy_arp=1 net.ipv4.conf.eth0.proxy_arp=1 Link to comment Share on other sites More sharing options...
k0ste Posted December 18, 2013 Share #10 Posted December 18, 2013 Я вообще потерял полёт мысли. Давай уже выкладывай карту сети. Link to comment Share on other sites More sharing options...
nkh Posted December 18, 2013 Author Share #11 Posted December 18, 2013 Получилось!Кроме всего прочего ошибка была в /etc/stsctl.conf, убрал все лишнее, что дописывал, осталось: kernel.panic=3 kernel.sem=250 32000 32 256 # Убрать различия между пользователями LAN и пользователями bridged VPN net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-ip6tables = 0 Попозже напишу инструкцию попонятней Link to comment Share on other sites More sharing options...
nkh Posted December 24, 2013 Author Share #12 Posted December 24, 2013 В nix я не профи, поэтому в описание буду вставлять вырезки из других статей, дабы не исказить чего-нибудь Предположим, что имеется офис с локальной сетью, используется IP-подсеть 192.168.168.0/24. В эту локальную сеть мы включим домашних пользователей, то есть они будут иметь адрес из этой же самой подсети. Необходимо убедиться, что у них «дома» не встречается данная подсеть, и что никакие системы в локальной сети не имеют адресов из диапазона, который мы выделим для удалённых пользователей. [spoiler=Конфигурация моей сети]Локальная сеть с сервером synology 192.168.10.0/24 (т.е. от 192.168.10.1 до 192.168.10.254) Шлюз в сети с сервером sinology 192.168.10.10 Моя локальная сеть 192.168.1.0/24 (т.е. от 192.168.1.1 до 192.168.1.254) VPN адрасация 192.168.10.0/24 Программы Ставим ipkg Инструкция (http://www.synology-forum.ru/index.php?showtopic=1632), я ставил дистрибутив http://ipkg.nslu2-linux.org/feeds/optwa ... 7_i686.xsh И пакет обслуживания моста bridge-utils Ipkg install bridge-utils Конфигурация сервера Путь /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf [spoiler=Файл openvpn.conf]dev tap0 #отвечает за видимость клиентов в окне VPNServer "список подключений" management 127.0.0.1 1195 server-bridge 192.168.10.110 255.255.255.0 192.168.10.200 192.168.10.230 dh /var/packages/VPNCenter/target/etc/openvpn/keys/dh1024.pem ca /var/packages/VPNCenter/target/etc/openvpn/keys/ca.crt cert /var/packages/VPNCenter/target/etc/openvpn/keys/server.crt key /var/packages/VPNCenter/target/etc/openvpn/keys/server.key max-clients 30 client-to-client #по моему привязка IP к клиентам не работает ifconfig-pool-persist /usr/syno/etc/packages/VPNCenter/openvpn/ipp.txt comp-lzo persist-tun persist-key verb 3 #log-append /var/log/openvpn.log keepalive 10 60 reneg-sec 0 plugin /var/packages/VPNCenter/target/lib/radiusplugin.so /var/packages/VPNCenter/target/etc/openvpn/radiusplugin.cnf client-cert-not-required username-as-common-name duplicate-cn Создаем сетевой мост Путь /opt/etc/init.d/bridge [spoiler=Создаем файл bridge (права доступа 0755)]#!/bin/sh case "$1" in start) #закоментируем, подгрузим эти библиотеки тут /volume1/@appstore/VPNCenter/scripts/openvpn.sh #insmod /lib/modules/stp.ko #insmod /lib/modules/bridge.ko ifconfig tap0 0.0.0.0 promisc up ifconfig eth0 0.0.0.0 promisc up brctl addbr br0 brctl addif br0 eth0 brctl addif br0 tap0 #адрес сервера sinology в локальной сети 192.168.10.110 ifconfig br0 192.168.10.110 netmask 255.255.255.0 broadcast 192.168.10.255 promisc up #адрес шлюза в локальной сети с сервером synology 192.168.10.10 route add default gw 192.168.10.10 dev br0 ;; stop) ifconfig br0 down ifconfig tap0 down brctl delbr br0 ifconfig eth0 192.168.10.110 netmask 255.255.255.0 broadcast 192.168.10.255 route add default gw 192.168.10.10 dev eth0 ;; *) ;; esac exit 0 Далее идем сюда Путь /volume1/@appstore/VPNCenter/scripts/openvpn.sh [spoiler=Файл openvpn.sh]Находим строку KERNEL_MODULES="x_tables.ko ip_tables.ko … добавляем в конец stp.ko bridge.ko" Ниже находим строки и дописываем: echo "Starting openvpn ..." ${PKG_TARGET}/sbin/openvpn --daemon --cd ${CONF_DIR} --config ${OPENVPN_CONF} --writepid /var/run/ovpn_server.pid # создаем bridge /opt/etc/init.d/bridge start # коментируем эту строку, чтобы не мешала трафику ходить через мост # /sbin/iptables -t nat -A POSTROUTING -s ${LOCALIP}/24 -j MASQUERADE #touch a temp file for UI check Еще ниже: fi ${PKG_TARGET}/scripts/radiusd.sh stop #delete USER_CONF_TMP_FILE if [ -e ${USER_CONF_TMP_FILE} ]; then /bin/rm -rf ${USER_CONF_TMP_FILE} 2>/dev/null fi # дописываем /opt/etc/init.d/bridge stop ;; restart) Теперь мост будет создаваться\удаляться при старте\остановке openvpn сервера Настройка фильтрования Я сделал так: открываем /etc/sysctl.conf И дописываем net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-ip6tables = 0 [spoiler=или читаем подробнее]Поскольку мы используем мост, есть несколько особенностей организации фильтрования пакетов. Например, не все проходящие пакеты могут вообще оказаться IPv4. Для настройки работы моста в ядре существует несколько параметров: Переменные этой группы сохраняются в файлах директории /proc/sys/net/bridge/. Их можно также настраивать в /etc/sysctl.conf, тогда они все получат префикс «net.brigde.» bridge-nf-call-arptables Логическая переменная bridge-nf-call-arptables управляет передачей трафика ARP в цепочку FORWARD пакетного фильтра arptables. Установленное по умолчанию значение 1 разрешает передачу пакетов фильтрам, 0 – запрещает. bridge-nf-call-iptables Логическая переменная bridge-nf-call-iptables управляет передачей проходящего через мост трафика IPv4 в цепочки iptables. Используемое по умолчанию значение 1 разрешает передачу пакетов для фильтрации, 0 – запрещает. bridge-nf-call-ip6tables Действие аналогично предыдущему, только оно настраивает передачу трафика IPv6 для фильтрования в цепочки ip6tables. bridge-nf-filter-vlan-tagged Логическая переменная bridge-nf-filter-vlan-tagged определяет возможность передачи трафика IP/ARP с тегами VLAN программам фильтрации пакетов (arptables/iptables). Значение 1 (установлено по умолчанию) разрешает передачу пакетов с тегами VLAN программам фильтрации, 0 – запрещает. Кроме этого, конфигурация ядра должна разрешать передачу пакетов на фильтрацию iptables, т.е. bridge-nf-call-iptables=1 и bridge-nf-call-ip6tables=1 (если вы используете IPv6). После можете использовать, например, такие правила для фильтрования: iptables -A FORWARD -p tcp --dport 22 -m physdev --physdev-in eth1 --physdev-out eth0 -j ACCEPT Поподробнее про настройку фильтрации между портами поста можно почитать в статье Building bridges with Linux Если вы не хотите делать никаких различий между пользователями LAN и пользователями bridged VPN, вы можете просто выключить эти параметры в ядре (они включены по умолчанию): echo "net.bridge.bridge-nf-call-iptables = 0" >> /etc/sysctl.conf echo "net.bridge.bridge-nf-call-ip6tables = 0" >> /etc/sysctl.conf Немного лоска Чтобы оснастка VPN сервера не ругалась на отсутствующий eth0 интерфейс, меняем в: Путь /usr/syno/etc/packages/VPNCenter/synovpn.conf [spoiler=Файл synovpn.conf]vpninterface=br0 runopenvpn=yes Вообще при создании моста в оснастке синолоджи появляется ошибка в окне VPNServer «настройки сети» и в окне «Сеть» панели управления, т.к. берут они сведения все с того же eth0 который уже находится в бридже. Где и что поправить, чтобы системе объявлялся новый интерфейс br0 взамен eth0 я пока не нашел, может кто подскажет? Так же не стоит менять адрес сервера из оснастки VPNServer, конфиг она отредактирует по своему. Конечно хотелось бы обучить ее этому, но это все время! Настройка клиента Путь C:\Program Files\OpenVPN\config\openvpn.ovpn [spoiler=Файл openvpn.ovpn]client nobind dev tap proto udp remote «адрес сервера» 1194 resolv-retry infinite persist-key persist-tun user nobody group nogroup pull script-security 2 ca ca.crt comp-lzo ns-cert-type server reneg-sec 0 auth-user-pass Связывать в мост ТАР интерфейс (TAP-Windows Adapter V9) и интерфейс локальной сети не нужно Все это делалось на прошивке synoboot-trantor-4.3-3810-v1.0 За основу были взяты статьи: [spoiler=открыть]VPN-мост в локальную сеть (http://habrahabr.ru/post/67238/) Локальная сеть глобального масштаба (http://habrahabr.ru/company/webnames/blog/162193/) Qnap: Gigabit Bridged Connection (http://orion195.muppetslab.org/qnap-gigabit-bridged-connection) А так же: Инструкция по установке IPKG (http://www.synology-forum.ru/index.php?showtopic=1632) дистрибутив: http://ipkg.nslu2-linux.org/feeds/optwa ... 7_i686.xsh Файл конфигурации OpenVPN сервера (http://www.lissyara.su/doc/man/safety/openvpn/) man:brctl (http://xgu.ru/wiki/man:brctl) Debian & bridge (http://www.linux.org.ru/forum/admin/4868575) Настройка сети (ifconfig, route) (http://linuxforum.ru/viewtopic.php?id=225) Добавляем маршрут в Windows. Синтаксис route.exe (http://it2web.ru/index.php/rras/126--windows-routeexe) Cоздание сети для виртуальных машин (http://www.thislinux.org/2012/06/guests-networking.html) Устанавливаем OpenVPN сервер на Synology (http://forum.zyxmon.org/topic51-ustanavlivaem-openvpn-server-na-synology.html) Отдельное благодарю k0ste Файлы с изменениями Настройка openvpn в режиме L2 моста на synology.rar Link to comment Share on other sites More sharing options...
arh Posted December 25, 2013 Share #13 Posted December 25, 2013 Познавательно, спасибо! Только вопрос, для чего нужно чтоб у удалённых пользователей была внутренняя адресация? Я вот тоже думал над похожей, но немного другой задачей... Дано - Есть две одинаковые сети (две квартиры с сетями 192.168.50.0/24), необходимо объединить их в одну локальную с единой адресацией, но со своими шлюзами. Нужно настроить на каждом шлюзе свой диапазон DHCP, и ограничить (можно через iptables) DHCPREQUEST в рамках одной квартиры, ну и настроить статическую маршрутизацию (правда по маске сети не получится). В принципе всё возможно, вот только чем осуществлять соединение (если на одном конце будет сервер с Xpernology а на другом обычный роутер). Очень понравилась возможность бросать L2 тоннель через ssh (http://www.khanh.net/blog/archives/51-u ... e-VPN.html), но на сколько это поддерживают современные роутеры, и пролезет ли broadcast? Link to comment Share on other sites More sharing options...
nkh Posted December 25, 2013 Author Share #14 Posted December 25, 2013 Если нужно объединить две сети, без отдельной авторизации каждого компьютера, то: - сети должны быть в одном адресном пространстве, например 192.168.1.0 - в моем примере, в конфиге сервера (файл openvpn.conf) изменить строчку: server-bridge 192.168.10.110 255.255.255.0 192.168.10.200 192.168.10.230 на server-bridge 10.8.0.1 255.255.255.0 10.8.0.200 10.8.0.230 - и нужен мост между tap и eth интерфейсами на стороне клиента Link to comment Share on other sites More sharing options...
k0ste Posted December 25, 2013 Share #15 Posted December 25, 2013 Дано - Есть две одинаковые сети (две квартиры с сетями 192.168.50.0/24), необходимо объединить их в одну локальную с единой адресацией, но со своими шлюзами.У вас сети общаются как? Зачем вам что-то городить если у вас два DHCP сервера? Один пусть живет в 192.168.50.1-192.168.50.63, другой в 192.168.50.64-192.168.50.127 при маске 26. Link to comment Share on other sites More sharing options...
arh Posted December 26, 2013 Share #16 Posted December 26, 2013 Всё затевается ради общего L2 сегмента, простыми словами чтоб через DLNA на NASе, который стоит в первой квартире, можно было смотреть фильмы на телевизоре из второй. Link to comment Share on other sites More sharing options...
Recommended Posts