Расскажу суть проблемы, уже замучался биться...
1) Есть Микротик -RBD52G , получает динамический IP от провайдера Ростелеком, т.к. он не всегда реальный, настроен скрипт, который проверяет его на серость и если нужно перезапускает сессию.
2) Есть PS5, которая подключена к Микротику по WiFi 5Ghz.
С помощью PS Remote Play, либо Chiaki(чаще всего) с удаленного ПК подключаюсь через Chiaki по серийныйномер.sn.mynetname.net к PS5.
Для правильной работы и подключения нужны открытые порты на Микротике, что собственно и сделано.
Порты:
80 - TCP
443 - TCP
987 - TCP/UDP - WoL
1935 - TCP
3478,3479 - TCP/UDP
3480 - TCP
9295 - TCP/UDP
9296, 9297 - UDP
9303 - UDP
UPnP включено.
Все работало хорошо, без задержек, картинка не сыпалась. Долгое время потом не подключался и однажды не смог...
Выяснилось, консоль не получала магические пакеты по 987 порту, стала получать их по 9302 - ок, пробросил по примеру 987.
Но теперь удаленно играть невозможно, отклик на кнопки 1-2 секунды, иногда вообще не срабатывает нажатие, картинка сыпется на пиксели.
Пытался все правила двигать по приоритету, ставил в самый верх, перед маскарадингом, после него и т.п. не помогает. Во вкладке Connections смотрел на какие порты происходит подключение по IP - адресу PS5, пробовал их пробрасывать, но их столько, да еще и меняются каждый раз... тоже не сработало.
В тоже время имею роутер Mi 3G, прошивка Padavan, проброшены вышеуказанные порты, включено UpNP и IP-адрес PS5 добавлен в DMZ. Все работает четко, отклик и картинка в порядке.
Помогите разобраться, почему на Микротике не работает как надо?
А вот почему перестало, мое мнение - что-то япошки обновили в ПО плойки (поменяли порты/протоколы/еще что-то там...) и теперь такая котовасия...
Прикладываю конфиг Микротика и скрин с Mi 3G. Спасибо заранее.
Код: Выделить всё
# dec/15/2022 14:09:53 by RouterOS 6.47.9
# software id = ------
#
# model = RBD52G-5HacD2HnD
# serial number = ------
/interface bridge
add admin-mac=--------- auto-mac=no comment=defconf name=bridge
/interface wireless
set [ find default-name=wlan1 ] band=2ghz-g/n channel-width=20/40mhz-XX \
country=russia disabled=no distance=indoors frequency=auto installation=\
indoor mode=ap-bridge ssid=WiFi-2.4 wireless-protocol=802.11
set [ find default-name=wlan2 ] band=5ghz-n/ac channel-width=20/40/80mhz-XXXX \
country=russia disabled=no distance=indoors frequency=auto \
frequency-mode=superchannel installation=indoor mode=ap-bridge ssid=\
WiFi-5 wireless-protocol=802.11
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa2-psk mode=dynamic-keys \
supplicant-identity=MikroTik wpa-pre-shared-key=12345678 \
wpa2-pre-shared-key=12345678
/ip hotspot profile
set [ find default=yes ] html-directory=flash/hotspot
/ip pool
add name=dhcp ranges=192.168.100.10-192.168.100.254
add name=123 ranges=192.168.9.2-192.168.9.12
/ip dhcp-server
add address-pool=dhcp disabled=no interface=bridge name=defconf
/ppp profile
add name=check_grey_ip_RT on-up=\
"/system script run pppoe_rostelecom_check_grey_ip"
add name=profile-antizapret on-down="/ip dns cache flush;\r\
\n/ip firewall nat remove [find comment=\93For Antizapret\94];\r\
\n/ip dns set servers=\"1.1.1.1,9.9.9.9\"" on-up="/ip dns cache flush;\r\
\n/ip firewall nat add action=redirect chain=dstnat comment=\93For Antizap\
ret\94 dst-port=53,5353,1253 protocol=udp;\r\
\n/ip firewall nat add action=redirect chain=dstnat comment=\93For Antizap\
ret\94 dst-port=53,5353,1253 protocol=tcp;\r\
\n/ip dns set servers=\"\""
set *FFFFFFFE local-address=192.168.9.1 remote-address=123
/interface ovpn-client
add certificate=antizapret.crt_0 cipher=aes128 connect-to=\
vpn.antizapret.prostovpn.org mac-address=02:9B:3F:63:B5:3A name=\
ovpn-antizapret profile=profile-antizapret use-peer-dns=exclusively user=\
user
/interface pppoe-client
add add-default-route=yes disabled=no interface=ether1 name=pppoe-out1 \
password=Password profile=check_grey_ip_RT service-name=RT use-peer-dns=yes \
user=Rostelecom
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=wlan1
add bridge=bridge comment=defconf interface=wlan2
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface detect-internet
set detect-interface-list=all
/interface l2tp-server server
set authentication=mschap1,mschap2 enabled=yes ipsec-secret=Password \
use-ipsec=yes
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/interface pptp-server server
set enabled=yes
/interface sstp-server server
set default-profile=default-encryption enabled=yes
/ip address
add address=192.168.100.1/24 comment=defconf interface=bridge network=\
192.168.100.0
/ip arp
add address=192.168.100.4 interface=bridge mac-address=---------
/ip cloud
set ddns-enabled=yes ddns-update-interval=1m update-time=no
/ip dhcp-client
add comment=defconf interface=ether1
/ip dhcp-server network
add address=192.168.100.0/24 comment=defconf gateway=192.168.100.1 netmask=24 \
ntp-server=192.168.100.1
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.100.1 comment=defconf name=router.lan
/ip firewall filter
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=accept chain=input comment="allow IPsec NAT" dst-port=4500 \
protocol=udp
add action=accept chain=input comment="allow IKE" dst-port=500 protocol=udp
add action=accept chain=input comment="allow l2tp" dst-port=1701 protocol=udp
add action=accept chain=input comment="allow NTP" dst-port=123 in-interface=\
bridge protocol=udp
add action=accept chain=input comment="allow pptp for VPN" dst-port=1723 \
protocol=tcp
add action=accept chain=input comment="GRE for VPN" protocol=gre
add action=accept chain=input comment="allow sstp" dst-port=443 protocol=tcp
add action=accept chain=input comment=\
"\E4\EE\F1\F2\F3\EF \EA MikroTik \F7\E5\F0\E5\E7 Winbox, \E8\E7 VPN" \
in-interface=all-ppp
add action=accept chain=input comment="\E4\EE\F1\F2\F3\EF \EA MikroTik \F7\E5\
\F0\E5\E7 \E1\F0\E0\F3\E7\E5\F0, \E8\E7 VPN" dst-port=80 protocol=tcp
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
"defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=!LAN
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
connection-state=established,related
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
connection-state=invalid
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
/ip firewall mangle
add action=change-mss chain=forward comment=\
"\CD\E5 \F1\EA\E0\F7\E8\E2\E0\EB \F1 4pda" new-mss=1440 out-interface=\
all-ppp passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=1300-65535
add action=change-mss chain=forward comment=\
"\CD\E5 \F1\EA\E0\F7\E8\E2\E0\EB \F1 4pda" in-interface=all-ppp new-mss=\
1440 passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=1300-65535
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
ipsec-policy=out,none out-interface-list=WAN
add action=masquerade chain=srcnat comment="masq. vpn traffic"
add action=masquerade chain=srcnat comment="masquerade ANTIZAPRET" \
ipsec-policy=out,none out-interface=ovpn-antizapret
add action=redirect chain=dstnat comment="For Antizapret" dst-port=\
53,5353,1253 protocol=udp
add action=redirect chain=dstnat comment="For Antizapret" dst-port=\
53,5353,1253 protocol=tcp
add action=dst-nat chain=dstnat comment="XBOX NAT" dst-port=3074 \
in-interface=pppoe-out1 protocol=tcp to-addresses=192.168.100.5 to-ports=\
3074
add action=dst-nat chain=dstnat comment="XBOX NAT" dst-port=3074 \
in-interface=pppoe-out1 protocol=udp to-addresses=192.168.100.5 to-ports=\
3074
add action=dst-nat chain=dstnat comment="WoL PS5" dst-port=9302 in-interface=\
pppoe-out1 protocol=udp to-addresses=192.168.100.4 to-ports=9302
add action=dst-nat chain=dstnat comment="WoL PS5" dst-port=987 in-interface=\
pppoe-out1 protocol=tcp to-addresses=192.168.100.4 to-ports=987
add action=dst-nat chain=dstnat comment="WoL PS5" dst-port=987 in-interface=\
pppoe-out1 protocol=udp to-addresses=192.168.100.4 to-ports=987
add action=dst-nat chain=dstnat dst-port=80 in-interface=pppoe-out1 protocol=\
tcp to-addresses=192.168.100.4 to-ports=80
add action=dst-nat chain=dstnat dst-port=443 in-interface=pppoe-out1 \
protocol=tcp to-addresses=192.168.100.4 to-ports=0
add action=dst-nat chain=dstnat dst-port=1935 in-interface=pppoe-out1 \
protocol=tcp to-addresses=192.168.100.4 to-ports=1935
add action=dst-nat chain=dstnat dst-port=3478 in-interface=pppoe-out1 \
protocol=tcp to-addresses=192.168.100.4 to-ports=3478
add action=dst-nat chain=dstnat dst-port=3478 in-interface=pppoe-out1 \
protocol=udp to-addresses=192.168.100.4 to-ports=3478
add action=dst-nat chain=dstnat dst-port=3479 in-interface=pppoe-out1 \
protocol=tcp to-addresses=192.168.100.4 to-ports=3479
add action=dst-nat chain=dstnat dst-port=3479 in-interface=pppoe-out1 \
protocol=udp to-addresses=192.168.100.4 to-ports=3479
add action=dst-nat chain=dstnat dst-port=3480 in-interface=pppoe-out1 \
protocol=tcp to-addresses=192.168.100.4 to-ports=3480
add action=dst-nat chain=dstnat dst-port=9295 in-interface=pppoe-out1 \
protocol=tcp to-addresses=192.168.100.4 to-ports=9295
add action=dst-nat chain=dstnat dst-port=9295 in-interface=pppoe-out1 \
protocol=udp to-addresses=192.168.100.4 to-ports=9295
add action=dst-nat chain=dstnat dst-port=9296 in-interface=pppoe-out1 \
protocol=udp to-addresses=192.168.100.4 to-ports=9296
add action=dst-nat chain=dstnat dst-port=9297 in-interface=pppoe-out1 \
protocol=udp to-addresses=192.168.100.4 to-ports=9297
add action=dst-nat chain=dstnat dst-port=9303 in-interface=pppoe-out1 \
protocol=udp to-addresses=192.168.100.4 to-ports=9303
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www address=192.168.100.0/24,192.168.9.0/24
set ssh address=192.168.100.0/24,192.168.9.0/24
set api disabled=yes
set winbox address=192.168.100.0/24,192.168.9.0/24
set api-ssl disabled=yes
/ip upnp
set enabled=yes
/ip upnp interfaces
add interface=bridge type=internal
add interface=pppoe-out1 type=external
/ppp secret
add name=123 password=Password
/system clock
set time-zone-name=Europe/Samara
/system ntp client
set enabled=yes primary-ntp=80.249.145.122 secondary-ntp=188.227.94.15
/system ntp server
set enabled=yes multicast=yes
/system scheduler
add interval=5m name=check_grey_ip on-event=\
"/system script run pppoe_rostelecom_check_grey_ip" policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
start-time=startup
/system script
add dont-require-permissions=no name=pppoe_rostelecom_check_grey_ip owner=\
name policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\
local WANInter \"pppoe-out1\"\r\
\n\r\
\n# get the current IP address from the internet (in case of double-nat)\r\
\n/tool fetch mode=http address=\"checkip.dyndns.org\" src-path=\"/\" dst-\
path=\"/dyndns.checkip.html\";\r\
\n:local result [/file get dyndns.checkip.html contents];\r\
\n\r\
\n# parse the current IP result\r\
\n:local resultLen [:len \$result];\r\
\n:local startLoc [:find \$result \": \" -1];\r\
\n:set startLoc (\$startLoc + 2);\r\
\n:local endLoc [:find \$result \"</body>\" -1];\r\
\n:local currentIP [:pick \$result \$startLoc \$endLoc];\r\
\n:log info \"On checkip.dyndns.org Current IP is \$currentIP\";\r\
\n\r\
\n#get WAN IP on interface\r\
\n:local IpInterfaceCurrent [/ip address get [find interface=\$WANInter] a\
ddress];\r\
\n:for i from=( [:len \$IpInterfaceCurrent] - 1) to=0 do={\r\
\n :if ( [:pick \$IpInterfaceCurrent \$i] = \"/\") do={\r\
\n :local NewIP [:pick \$IpInterfaceCurrent 0 \$i];\r\
\n :log info \"WAN IP is \$NewIP\";\r\
\n\r\
\n #Compare IP\r\
\n :if (\$currentIP = \$NewIP) do={\r\
\n #its normal\r\
\n /log info \"Connect OK\"; \r\
\n } else={\r\
\n #Gray IP. Do restart\r\
\n /log info \"Connected to gray IP\";\r\
\n /system script run pppoe_rostelecom_restart;\r\
\n }\r\
\n \r\
\n }\r\
\n}"
add dont-require-permissions=no name=pppoe_rostelecom_restart owner=name \
policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
source="/interface pppoe-client disable pppoe-out1;\r\
\n:delay 10;\r\
\n/interface pppoe-client enable pppoe-out1;"
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN