У меня RB2011, хочу установить на него скрипт. Скрипт отлично работает на других роутерах, его задача – разрешать хост и добавлять IP в список адресов. Проблема с моим RB2011 в том, что он не возвращает IP. Скрипт я экспортировал с другого роутера, пробовал обновить с 5.3 до 6.7 – проблема сохраняется.
Похоже, что у меня пуст DNS кэш, хотя размер указан как 2048 KiB, а максимальный UDP размер – 4096.
Сам скрипт: “/system script add name=Facebook policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=“:foreach i in=[/ip dns cache find] do={\r \n :local bNew "true";\r \n :local cacheName [/ip dns cache all get $i name] ;\r \n# :put $cacheName;\r \n\r \n :if (([:find $cacheName "facebook"] != 0) || ([:find $cacheName "fbdcn"] != 0)) do={\r \n\r \n :local tmpAddress [/ip dns cache get $i address] ;\r \n#\t:put $tmpAddress;\r \n\r \n# if address list is empty do not check\r \n :if ( [/ip firewall address-list find ] = "") do={\r \n :log info ("added entry: $[/ip dns cache get $i name] IP $tmpAddress");\r \n /ip firewall address-list add address=$tmpAddress list=restricted comment=$cacheName;\r \n } else={\r \n :foreach j in=[/ip firewall address-list find ] do={\r \n :if ( [/ip firewall address-list get $j address] = $tmpAddress ) do={\r \n :set bNew "false";\r \n }\r \n }\r \n :if ( $bNew = "true" ) do={\r \n :log info ("added entry: $[/ip dns cache get $i name] _IP $tmpAddress");\r \n /ip firewall address-list add address=$tmpAddress list= restricted comment=$cacheName;\r \n }\r \n }\r \n }\r \n}” – это не проблема, так как он отлично работает на других роутерах в моей сети.
Ещё "странная вещь": в DNS показывается 8 используемых записей в кэше, хотя при заходе в кэш я ничего не вижу. Пользователи в сети запрашивают уже больше часа. В брандмауэре нет ничего связанного с DNS или DNS портами, просто простой маскарад, чтобы они могли выходить в интернет.
IP Firewall nat:
0 chain=srcnat action=masquerade src-address-list=NAT out-interface=ether4
1 chain=srcnat action=masquerade dst-address=5.10.225.106
2 chain=srcnat action=masquerade dst-address=192.168.97.2
Я пытался найти проблему, но ничего похожего на мой случай не нашёл! Спасибо заранее.
Похоже, что у меня пуст DNS кэш, хотя размер указан как 2048 KiB, а максимальный UDP размер – 4096.
Сам скрипт: “/system script add name=Facebook policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=“:foreach i in=[/ip dns cache find] do={\r \n :local bNew "true";\r \n :local cacheName [/ip dns cache all get $i name] ;\r \n# :put $cacheName;\r \n\r \n :if (([:find $cacheName "facebook"] != 0) || ([:find $cacheName "fbdcn"] != 0)) do={\r \n\r \n :local tmpAddress [/ip dns cache get $i address] ;\r \n#\t:put $tmpAddress;\r \n\r \n# if address list is empty do not check\r \n :if ( [/ip firewall address-list find ] = "") do={\r \n :log info ("added entry: $[/ip dns cache get $i name] IP $tmpAddress");\r \n /ip firewall address-list add address=$tmpAddress list=restricted comment=$cacheName;\r \n } else={\r \n :foreach j in=[/ip firewall address-list find ] do={\r \n :if ( [/ip firewall address-list get $j address] = $tmpAddress ) do={\r \n :set bNew "false";\r \n }\r \n }\r \n :if ( $bNew = "true" ) do={\r \n :log info ("added entry: $[/ip dns cache get $i name] _IP $tmpAddress");\r \n /ip firewall address-list add address=$tmpAddress list= restricted comment=$cacheName;\r \n }\r \n }\r \n }\r \n}” – это не проблема, так как он отлично работает на других роутерах в моей сети.
Ещё "странная вещь": в DNS показывается 8 используемых записей в кэше, хотя при заходе в кэш я ничего не вижу. Пользователи в сети запрашивают уже больше часа. В брандмауэре нет ничего связанного с DNS или DNS портами, просто простой маскарад, чтобы они могли выходить в интернет.
IP Firewall nat:
0 chain=srcnat action=masquerade src-address-list=NAT out-interface=ether4
1 chain=srcnat action=masquerade dst-address=5.10.225.106
2 chain=srcnat action=masquerade dst-address=192.168.97.2
Я пытался найти проблему, но ничего похожего на мой случай не нашёл! Спасибо заранее.
