Úvod
MikroTik RouterOS podporuje architekturu Universal Plug and Play pro transparentní síťové připojení osobních počítačů a inteligentních zařízení nebo přístrojů se síťovým připojením.
UPnP umožňuje datovou komunikaci mezi libovolnými dvěma zařízeními pod příkazem libovolného řídicího zařízení v síti. Technologie Universal Plug and Play je zcela nezávislá na konkrétním fyzickém médiu. Podporuje síť s automatickým zjišťováním bez jakékoli počáteční konfigurace, čímž se zařízení může dynamicky připojit k síti. Servery DHCP a DNS jsou volitelné a použijí se, pokud jsou v síti k dispozici. UPnP implementuje jednoduché, ale výkonné řešení pro překonávání sítě NAT, které umožňuje klientovi získat plnou obousměrnou podporu sítě peer-to-peer zpoza sítě NAT.
Pro UPnP existují dva typy rozhraní: interní (to, ke kterému jsou připojeni místní klienti) a externí (to, ke kterému je připojen internet). Směrovač může mít pouze jedno aktivní vnější rozhraní s "veřejnou" IP adresou a tolik vnitřních rozhraní, kolik je potřeba, všechna s "vnitřními" IP adresami se zdrojovým NATem. Protokol funguje tak, že vytváří dynamické položky NAT.
Protokol UPnP se používá pro mnoho moderních aplikací, jako je většina her DirectX, a také pro různé funkce Windows Messengeru, jako je vzdálená pomoc, sdílení aplikací, přenos souborů, hlasu a videa zpoza firewallu.
Konfigurace
Obecné vlastnosti
Kód: Vybrat vše
/ip upnp
Vlastnost | Popis |
---|---|
allow-disable-external-interface (yes / no ; Výchozí: yes) | zda je uživatelům povoleno zakázat vnější rozhraní směrovače. Tato funkce (aby uživatelé mohli vypnout vnější rozhraní směrovače bez jakékoli ověřovací procedury) je vyžadována standardem, ale protože se někdy neočekává nebo je nežádoucí v nasazeních UPnP, pro které standard nebyl navržen (byl navržen především pro domácí uživatele, kteří si vytvářejí vlastní místní sítě), můžete toto chování zakázat. |
enabled (yes / no ; Výchozí: no) | Povolení služby UPnP |
show-dummy-rule (yes / no ; Default: yes) | Povolení řešení pro některé nefunkční implementace, které nesprávně řeší absenci pravidel UPnP (například zobrazují chybové zprávy). Tato volba dá serveru pokyn, aby nainstaloval fiktivní (nesmyslné) pravidlo UPnP, které mohou klienti, kteří jinak odmítají pracovat správně, dodržovat. |
Rozhraní UPnP
Kód: Vybrat vše
/ip upnp interfaces
Vlastnost | Popis |
---|---|
interface (string; Default: ) | Název rozhraní, na kterém bude spuštěn uPnP |
type (external / internal; Default: ) | Typ rozhraní UPnP:
|
forced-external-ip (Ip; Default: ) | Umožňuje určit, jaká veřejná IP adresa se má použít, pokud má vnější rozhraní k dispozici více než jednu IP adresu. |
Příklad konfigurace
Kód: Vybrat vše
[admin@MikroTik] ip upnp> /ip firewall src-nat print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat action=masquerade out-interface=ether1
[admin@MikroTik] ip upnp>
Povolení funkce UPnP:
Kód: Vybrat vše
[admin@MikroTik] ip upnp> set enable=yes
[admin@MikroTik] ip upnp> print
enabled: yes
allow-disable-external-interface: yes
show-dummy-rule: yes
[admin@MikroTik] ip upnp>
Nyní stačí přidat rozhraní:
Kód: Vybrat vše
[admin@MikroTik] ip upnp interfaces> add interface=ether1 type=external
[admin@MikroTik] ip upnp interfaces> add interface=ether2 type=internal
[admin@MikroTik] ip upnp interfaces> print
Flags: X - disabled
# INTERFACE TYPE
0 X ether1 external
1 X ether2 internal
[admin@MikroTik] ip upnp interfaces> enable 0,1
Jakmile klient ze strany vnitřního rozhraní odešle požadavek UPnP, budou na routeru vytvořena dynamická pravidla NAT a příklad pravidel může vypadat takto:
Kód: Vybrat vše
[admin@MikroTik] > ip firewall nat print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat action=masquerade out-interface=ether1
1 D ;;; upnp 192.168.88.10: ApplicationX
chain=dstnat action=dst-nat to-addresses=192.168.88.10 to-ports=55000 protocol=tcp
dst-address=10.0.0.1 in-interface=ether1 dst-port=55000
2 D ;;; upnp 192.168.88.10: ApplicationX
chain=dstnat action=dst-nat to-addresses=192.168.88.10 to-ports=55000 protocol=udp
dst-address=10.0.0.1 in-interface=ether1 dst-port=55000