From d9b137c9505f3d0beebb981d86c27c83d7ed49ef Mon Sep 17 00:00:00 2001 From: vados-dev Date: Mon, 17 Aug 2026 22:40:06 +0300 Subject: [PATCH] Backup for MikroMaster created successfully at Aug 17 22:40:06. --- .../20260817/20260817224001-Binary.backup | Bin 0 -> 104700 bytes .../20260817/20260817224001-Config.rsc | 1208 +++++++++++++++++ .../20260817/20260817224001-Diff-Config.rsc | 306 +++++ 3 files changed, 1514 insertions(+) create mode 100644 MikroMaster/20260817/20260817224001-Binary.backup create mode 100644 MikroMaster/20260817/20260817224001-Config.rsc create mode 100644 MikroMaster/history/20260817/20260817224001-Diff-Config.rsc diff --git a/MikroMaster/20260817/20260817224001-Binary.backup b/MikroMaster/20260817/20260817224001-Binary.backup new file mode 100644 index 0000000000000000000000000000000000000000..428df681da937745ef2641671a218605b73b3e08 GIT binary patch literal 104700 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 MH)3wgwImHGaspA;JOBUy literal 0 HcmV?d00001 diff --git a/MikroMaster/20260817/20260817224001-Config.rsc b/MikroMaster/20260817/20260817224001-Config.rsc new file mode 100644 index 0000000..5f5f821 --- /dev/null +++ b/MikroMaster/20260817/20260817224001-Config.rsc @@ -0,0 +1,1208 @@ +# 2026-08-17 22:39:29 by RouterOS 7.23.3 +# software id = 2961-C4ZZ +# +# model = RBD52G-5HacD2HnD +# serial number = HCX084RAVFA +/interface bridge +add name=Bridge-Lan +/interface wireless +# managed by CAPsMAN +# channel: 2422/20-Ce/gn(17dBm), SSID: vados, local forwarding +set [ find default-name=wlan1 ] disabled=no mode=ap-bridge ssid=vados \ + wireless-protocol=802.11 +# managed by CAPsMAN +# channel: 5200/20-eCee/ac/P(20dBm), SSID: vados5g, local forwarding +set [ find default-name=wlan2 ] disabled=no mode=ap-bridge ssid=vados5g \ + wireless-protocol=802.11 +/interface ethernet +set [ find default-name=ether1 ] mac-address=48:8F:5A:8E:1A:BC name=\ + "ether1 - Unet" +/interface list +add comment=defconf name=WAN +add comment=defconf name=LAN +add exclude=LAN include=WAN name=Internet +/interface wireless security-profiles +set [ find default=yes ] supplicant-identity=MikroTik +/ip dhcp-server option +add code=12 name=HostName +add code=119 force=yes name=domain-search-list value="0x03'WORKGROUP'0x00" +/ip dhcp-server option sets +add name=HP1505n options=HostName +add name=StartLife1 options=HostName +add name=amsterDev options=HostName +add name=MiTV options=HostName +add name=miller options=HostName +add name=amster options=HostName +add name=garage options=HostName +add name=domain-search-set options=domain-search-list +add name=VADOS-LEN options=HostName +add name=VADOS-NUC options=HostName +add name=MikroNUC options=HostName +add name=master options=HostName +add name=MikroYellow options=HostName +add name="=\"Client ID\"" options=HostName +/ip dns forwarders +add dns-servers=1.1.1.1,1.0.0.1 name=blsp.at verify-doh-cert=no +add comment=Kra dns-servers=1.0.0.1,1.1.1.1 name=slon2.to verify-doh-cert=no +add dns-servers=1.1.1.1,1.0.0.1 name=slon3.at verify-doh-cert=no +add dns-servers=1.0.0.1,1.1.1.1 name=slon3.cc verify-doh-cert=no +add dns-servers=1.1.1.1,1.0.0.1 name=bs2web.at verify-doh-cert=no +add dns-servers=1.1.1.1,1.0.0.1 name=bs2best.at verify-doh-cert=no +add dns-servers=1.0.0.1,1.1.1.1 name=psrms.is verify-doh-cert=no +/ip pool +add name=dhcp ranges=10.30.30.150-10.30.30.200 +/ip dhcp-server +add address-pool=dhcp bootp-support=dynamic dhcp-option-set=domain-search-set \ + interface=Bridge-Lan name=masterDHCP server-address=10.30.30.81 +/ip smb users +set [ find default=yes ] disabled=yes +add disabled=yes name=vados +/routing table +add disabled=yes fib name=To-VPN +/system script +add dont-require-permissions=no name=fetchCustom owner=admin policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + \n\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \".bak/mikro_bak_rsa@10\ + .30.30.10.pub\") dst-path=\"/mikro_bak_rsa@10.30.30.10.pub\";\ + \n\ + \n\ + \n#\ + \n\ + \n#root.mnuc.backuper\ + \n\ + \n\ + \n\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \".bak/mikro_bak_rsa@10\ + .30.30.81.pub\") dst-path=\"/mikro_bak_rsa@10.30.30.81.pub\";\ + \n\ + \n\ + \n#:local Script AM-GlobalConfig;\ + \n\ + \n#/system/script/add name=\$Script owner=\$Script source=([ /tool/fetch c\ + heck-certificate=yes-without-crl url=(\$GlobalScriptsUrl . \$Script . \".r\ + sc\") output=user as-value ]->\"data\");\ + \n\ + \n#/usb1/mikro_bak_rsa.pub\ + \n\ + \n\ + \n#:local FetchFile AM-DOHCert.rsc\ + \n\ + \n\ + \n\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/tmp/\";\ + \n\ + \n:global MkDir;\ + \n\ + \n\ + \n:local FetchFile Manager@id_rsa.pub\ + \n:local localDir \"/\";\ + \n\ + \n\ + \n\ + \n\$MkDir \$localDir;\ + \n\ + \n\ + \n\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \$FetchFile) dst-path=(\ + \$localDir . \$FetchFile);\ + \n" +add comment="Global Config Script" dont-require-permissions=no name=\ + AM-GlobalConfig owner=AM-GlobalConfig policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-GlobalConfig\r\ + \n# Script comment: Global Config Script\r\ + \n# Copyright (c) 2007-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# Warning: Dont touch this line!\r\ + \n:global Identity [/system/identity/get name];\r\ + \n:global GlobalConfReady false;\r\ + \n#\r\ + \n#\r\ + \n# Global Url For Amster scripts to fetch\r\ + \n# most be defined in AM-Init-Script or AM-setup scripts\r\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n:global ScriptsUrlSuffix (a);\r\ + \n:global CheckSumsVerify true;\r\ + \n\r\ + \n:global ScriptUpdatesCRLF true;\r\ + \n:global CommentsInScripts true;\r\ + \n\r\ + \n# Debug output:\r\ + \n:global PrintDebug true; #false;\r\ + \n\r\ + \n# Debug output for specific script:\r\ + \n#:set (\$PrintDebugOverride->\"AM-GlobalFunc\") true;\r\ + \n\r\ + \n# Debug logs\r\ + \n# Other actions (disk, email, remote or support) can be used as well.\r\ + \n# I do not recommend using echo - use debug output instead (https://rsc.\ + eworm.de/main/DEBUG.html#debug-output).\r\ + \n#/system/logging/add topics=script,debug action=memory;\r\ + \n\r\ + \n:global MikrotikUpgradeUrl \"https://upgrade.mikrotik.com/routeros\";\r\ + \n:global Domain \"WORKGROUP\";\r\ + \n\r\ + \n:global EmailGeneralTo \"vados@vados.ru\";\r\ + \n#:global EmailGeneralCc \"\";\r\ + \n\r\ + \n# \$ScriptInstallUpdate mod/notification-telegram\r\ + \n:global TelegramTokenId \"8390868324:AAG3_d1hfVR2M6pGAgDK6ZvhOe4J97nyopw\ + \";\r\ + \n:global TelegramChatId \"-1003631309063\"; #\"454403445\";\r\ + \n# Use this to send notifications to a specific topic in group.\r\ + \n#:global TelegramThreadId \"30\";\r\ + \n# Using telegram-chat you have to define trusted chat ids (not group ids\ + !)\r\ + \n# or user names. Groups allow to chat with devices simultaneously.\r\ + \n:global TelegramChatIdsTrusted {\r\ + \n \"454403445\"\r\ + \n \"-1003631309063\"\r\ + \n \"-5124482807\"\r\ + \n \"1087968824\";\r\ + \n};\r\ + \n# \"-5294757340\";\r\ + \n\r\ + \n:global TelegramChatGroups \"(all)\";\r\ + \n#:global TelegramChatGroups \"(all|home|office)\";\r\ + \n\r\ + \n:global NotificationFunctions {\r\ + \n \"email\"\r\ + \n \"telegram\";\r\ + \n};\r\ + \n# Toggle this to disable symbols in notifications.\r\ + \n:global NotificationsWithSymbols true;\r\ + \n:global TerminalColorOutput true;\r\ + \n\r\ + \n:global DetectIpAddrDefault \"https://ipv4.mikrotik.ovh/\";\r\ + \n:global DetectIpAddrFallback \"https://api.ipify.org/\";\r\ + \n\r\ + \n## Update channel. Possible values: stable, long-term, testing, developm\ + ent\r\ + \n:global updateChannel \"stable\";\r\ + \n\r\ + \n:global CertRenewUrl (\$GlobalScriptsUrl . \"certs/\" . \$Identity . \"/\ + \");\r\ + \n:global CertRenewTime 2w;\r\ + \n:global CertRenewPass (a); #{\r\ + \n# \"\";\r\ + \n# \"v3ry-s3cr3t\";\r\ + \n# \"4n0th3r-s3cr3t\";\r\ + \n#};\r\ + \n:global CertWarnTime 1w;\r\ + \n:global CertIssuedExportPass (a); # {\r\ + \n# \"\";\r\ + \n# \"cert1-cn\"=\"v3ry-s3cr3t\";\r\ + \n# \"cert2-cn\"=\"4n0th3r-s3cr3t\";\r\ + \n#};\r\ + \n\r\ + \n# Script BackupAndUpdate mode, possible values: backup,\r\ + \n# updateOnce - Update once as \"osnotify\" and back \"osnotify\" mode (i\ + n terminal run :set OSUpdateMode updateOnce; \$OSUpdateMode;). \r\ + \n# osupdate - Update if available and creates backups before/after update\ + \_(ignores `forceBackup`)\r\ + \n# Set `forceBackup` to true to always create backups, even\ + \_without updates\r\ + \n# osnotify - Set `forceBackup` to always create backups on every run\r\ + \n:global DevInfoIncludeIP true;\r\ + \n:global BackupAndUpdateMode \"osnotify\"\r\ + \n\r\ + \n:global forceBackup true;\r\ + \n:global BackupPassword \"Peskar55\";\r\ + \n\r\ + \n# SFTP Backup Variables\r\ + \n:global BackupRandomDelay 0;\r\ + \n:global BackupUploadUrl \"sftp://amster.vados.ru/upload/\";\r\ + \n:global BackupUploadUser \$Identity;\r\ + \n:global BackupUploadPass \"root.mnuc.backuper\";\r\ + \n\r\ + \n:global BackupSendBinary true;\r\ + \n:global BackupSendExport true;\r\ + \n:global BackupSendGlobalConfig true;\r\ + \n:global BackupSendScripts true;\r\ + \n\r\ + \n# Remove local file after uploading if no errors\r\ + \n:global BackupRmLocal true;\r\ + \n\r\ + \n# Local Backups Root Directory \r\ + \n:global BackupLocalRoot \"tmpfs\";\r\ + \n\r\ + \n# Encrypt Backup\r\ + \n:global BackupEncrypt true;\r\ + \n\r\ + \n# Sensitive information in Backups\r\ + \n:global BackupSens true;\r\ + \n\r\ + \n# User Export\r\ + \n:global BackupUser true;\r\ + \n\r\ + \n# License Export (not for CHR, will silently skip)\r\ + \n:global BackupLicense false;\r\ + \n\r\ + \n# SSH Keys\r\ + \n:global BackupSshKeys true;\r\ + \n\r\ + \n# Certificate Export\r\ + \n:global BackupCerts true;\r\ + \n\r\ + \n# Certificate Password\r\ + \n:global BackupCertsPasswd \"\";\r\ + \n\r\ + \n# User-Manager Export\r\ + \n:global BackupUserMan false;\r\ + \n\r\ + \n# The Dude Export\r\ + \n:global BackupDude false;\r\ + \n\r\ + \n# User Files to export, comma-separated string or array of strings\r\ + \n# User Files are not removed on backup\r\ + \n# Any directory paths will be removed (/ -> _) on remote file\r\ + \n# Nonpresent files are silently skipped\r\ + \n:global BackupUserList \"autosupout.rif,autosupout.old.rif\";\r\ + \n\r\ + \n# load functions and any custom scripts\r\ + \n# [ /system/script/find where name=\"global-config-ov\ + erlay\" ], \\\r\ + \n# [ /system/script/find where name~\"^global-config-o\ + verlay\\\\.d/.\" ]\r\ + \n#\r\ + \n#:foreach Script in=([ /system/script/find where name=\"Amster-TGglobalV\ + ars\" ], [ /system/script/find where name=\"Amster-TGglobalFunc\" ]) do={\ + \r\ + \n# :onerror Err {\r\ + \n# /system/script/run \$Script;\r\ + \n# } do={\r\ + \n# :log error (\"Loading configuration from configs and functions\"\ + \_. [ /system/script/get \$Script name ] . \" failed: \" . \$Err);\r\ + \n# }\r\ + \n#}\r\ + \n#:log info \"\\ndevMode = \$devMode\";\r\ + \n#:log info \"\\ndevRunning = \$devRunning\";\r\ + \n:foreach Script in=[ /system/script/find where source~\"^#!rsc by Vados \ + GlobalRUN\\r\?\\n\" ] do={\r\ + \n :onerror Err {\r\ + \n /system/script/run \$Script;\r\ + \n } do={\r\ + \n :log error (\"Run script \" . [ /system/script/get \$Script name \ + ] . \" width marker \\\" GlobalRUN\\\" failed: \" . \$Err);\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n# signal we are ready\r\ + \n:set GlobalConfReady true;\r\ + \n:while (\$GlobalConfReady != true) do={:delay 500ms};\r\ + \n" +add dont-require-permissions=no name=AM-Fetch-Generator owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + \n:local srcFile \"AM-Awg-Generator.rsc\";\ + \n:local dstFile \$srcFile;\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \"/\$srcFile\") dst-pat\ + h=\"/\$dstFile\";\ + \n\ + \nexit 0\ + \n#\ + \n\ + \n#root.mnuc.backuper\ + \n\ + \n\ + \n\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \".bak/mikro_bak_rsa@10\ + .30.30.81.pub\") dst-path=\"/mikro_bak_rsa@10.30.30.81.pub\";\ + \n\ + \n\ + \n#:local Script AM-GlobalConfig;\ + \n\ + \n#/system/script/add name=\$Script owner=\$Script source=([ /tool/fetch c\ + heck-certificate=yes-without-crl url=(\$GlobalScriptsUrl . \$Script . \".r\ + sc\") output=user as-value ]->\"data\");\ + \n\ + \n#/usb1/mikro_bak_rsa.pub\ + \n\ + \n\ + \n#:local FetchFile AM-DOHCert.rsc\ + \n\ + \n\ + \n\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/tmp/\";\ + \n\ + \n:global MkDir;\ + \n\ + \n\ + \n:local FetchFile Manager@id_rsa.pub\ + \n:local localDir \"/\";\ + \n\ + \n\ + \n\ + \n\$MkDir \$localDir;\ + \n\ + \n\ + \n\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \$FetchFile) dst-path=(\ + \$localDir . \$FetchFile);\ + \n" +add comment=awg2vds dont-require-permissions=no name=awg2vds-uninstall owner=\ + vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\ + \n :put \"Uninstallimg AmneziaWG...\"\ + \n :log info \"Uninstallimg AmneziaWG...\"\ + \n :local prevDNS \"\"\ + \n :do { :set prevDNS [/container/envs/get [find where list=\"awg2vds-env\ + \" key=\"AWG_PREV_DNS\"] value] } on-error={}\ + \n :local prevTmpdir \"\"\ + \n :do { :set prevTmpdir [/container/envs/get [find where list=\"awg2vds-\ + env\" key=\"AWG_PREV_TMPDIR\"] value] } on-error={}\ + \n /ip/route/remove [find where comment=awg2vds-tunnel]\ + \n /ip/route/remove [find where comment=awg2vds-dns]\ + \n /container/stop [find where interface=veth-awg2vds]\ + \n :delay 7s\ + \n /container/remove [find where interface=veth-awg2vds]\ + \n /container/envs/remove [find where list=\"awg2vds-env\"]\ + \n :if (\$prevDNS != \"\") do={\ + \n :do { /ip/dns/set servers=\"\$prevDNS\" } on-error={}\ + \n :put (\"DNS restored to: \$prevDNS\")\ + \n }\ + \n /container/config set tmpdir=\$prevTmpdir\ + \n :put (\"Container tmpdir restored to: \$prevTmpdir\")\ + \n /ip/firewall/nat/remove [find where out-interface=\"wg-awg2vds\"]\ + \n /ip/firewall/nat/remove [find where src-address=\"172.20.200.68/30\"]\ + \n /ip/address/remove [find where address=\"172.20.200.69/30\"]\ + \n /interface/veth/remove [find where name=\"veth-awg2vds\"]\ + \n /interface/wireguard/peers/remove [find where interface=\"wg-awg2vds\"\ + ]\ + \n /ip/address/remove [find where interface=\"wg-awg2vds\"]\ + \n /interface/wireguard/remove [find where name=\"wg-awg2vds\"]\ + \n :do { /file/remove [find where name~\"awg2vds.+tar\"] } on-error={}\ + \n :do { /file/remove [find where name=\"usb1/awg2vds\"] } on-error={}\ + \n :do { /file/remove [find where name=\"usb1/ru_ranges_timeout.rsc\"] } \ + on-error={}\ + \n :do { /file/remove [find where name~\"usb1/pull\"] } on-error={}\ + \n :put \"Uninstall AmneziaWG Proxy complete!\"\ + \n :log info \"Uninstall AmneziaWG Proxy complete!\"\ + \n /system/script/remove [find where name=awg2vds-uninstall]\ + \n" +/user group +add name=backup policy="telnet,ssh,ftp,read,write,policy,test,sniff,sensitive,\ + !local,!reboot,!winbox,!password,!web,!api,!romon,!rest-api" +add name=manager policy="local,ssh,ftp,read,write,policy,api,rest-api,!telnet,\ + !reboot,!test,!winbox,!password,!web,!sniff,!sensitive,!romon" +/certificate settings +set builtin-trust-store=all crl-use=yes +/container config +set memory-high=200.0MiB tmpdir=/usb1/pull +/disk settings +set auto-media-interface=Bridge-Lan +/ip smb +set domain=WORKGROUP enabled=no interfaces=lo +/interface bridge port +add bridge=Bridge-Lan interface=ether2 +add bridge=Bridge-Lan interface=ether3 +add bridge=Bridge-Lan interface=ether4 +add bridge=Bridge-Lan interface=ether5 +add bridge=Bridge-Lan interface=wlan1 +add bridge=Bridge-Lan interface=wlan2 +/interface bridge settings +set allow-fast-path=no use-ip-firewall=yes +/ip neighbor discovery-settings +set discover-interface-list=LAN +/ip settings +set accept-redirects=yes allow-fast-path=no +/ipv6 settings +set accept-router-advertisements-on=none allow-fast-path=no disable-ipv6=yes \ + disable-link-local-address=yes +/interface detect-internet +set detect-interface-list=static internet-interface-list=WAN \ + lan-interface-list=LAN wan-interface-list=WAN +/interface list member +add interface="ether1 - Unet" list=Internet +add interface=Bridge-Lan list=LAN +/interface wireless cap +# +set bridge=Bridge-Lan caps-man-addresses=10.30.30.10 \ + caps-man-certificate-common-names=CAPsMAN-2C900E832E04 certificate=\ + CAP-18FD746E5814 discovery-interfaces=Bridge-Lan enabled=yes interfaces=\ + wlan1,wlan2 lock-to-caps-man=yes +/ip address +add address=10.30.30.81/24 interface=Bridge-Lan network=10.30.30.0 +/ip cloud +set ddns-enabled=yes +/ip dhcp-client +add add-default-route=special-classless default-route-distance=2 \ + default-route-tables=main:2 dhcp-options=clientid,clientid_duid \ + interface="ether1 - Unet" name=client1 use-peer-dns=no use-peer-ntp=no +/ip dhcp-server config +set accounting=no +/ip dhcp-server lease +add address=10.30.30.101 client-id=1:48:8f:5a:8e:ee:a8 mac-address=\ + 48:8F:5A:8E:EE:A8 server=masterDHCP +add address=10.30.30.107 client-id=1:f0:de:f1:91:d:1e mac-address=\ + F0:DE:F1:91:0D:1E server=masterDHCP +add address=10.30.30.83 client-id=1:0:80:77:ec:43:86 mac-address=\ + 00:80:77:EC:43:86 server=masterDHCP +add address=10.30.30.50 client-id=1:4:7c:16:36:f5:37 mac-address=\ + 04:7C:16:36:F5:37 server=masterDHCP +add address=10.30.30.71 client-id=1:10:2d:41:2c:20:c2 mac-address=\ + 10:2D:41:2C:20:C2 server=masterDHCP +add address=10.30.30.61 client-id=1:10:8:c1:81:59:5f mac-address=\ + 10:08:C1:81:59:5F server=masterDHCP +add address=10.30.30.72 client-id=1:10:38:1f:d2:5f:13 mac-address=\ + 10:38:1F:D2:5F:13 server=masterDHCP +add address=10.30.30.99 client-id=1:10:b1:df:e9:d0:d5 mac-address=\ + 10:B1:DF:E9:D0:D5 server=masterDHCP +add address=10.30.30.111 client-id=1:fe:2:52:be:3f:16 mac-address=\ + FE:02:52:BE:3F:16 server=masterDHCP +add address=10.30.30.92 client-id=1:d4:6d:6d:fd:e5:49 mac-address=\ + D4:6D:6D:FD:E5:49 server=masterDHCP +add address=10.30.30.93 client-id=1:7e:8b:1e:cb:b8:cb mac-address=\ + CC:42:10:12:46:94 server=masterDHCP +add address=10.30.30.94 client-id=1:50:cc:f8:85:96:a mac-address=\ + 50:CC:F8:85:96:0A server=masterDHCP +add address=10.30.30.82 client-id=1:e4:18:6b:58:34:ab mac-address=\ + E4:18:6B:58:34:AB server=masterDHCP +add address=10.30.30.75 client-id=1:0:27:15:41:97:a9 mac-address=\ + 00:27:15:41:97:A9 server=masterDHCP +add address=10.30.30.77 dhcp-option=HostName dhcp-option-set=StartLife1 \ + mac-address=C4:82:E1:03:49:10 server=masterDHCP +add address=10.30.30.73 client-id=1:10:38:1f:82:81:f2 mac-address=\ + 10:38:1F:82:81:F2 server=masterDHCP +add address=10.30.30.96 client-id=iPhone mac-address=4A:91:ED:0E:1F:39 \ + server=masterDHCP +add address=10.30.30.74 client-id=MiTV dhcp-option=HostName dhcp-option-set=\ + MiTV mac-address=20:72:A9:D3:34:36 server=masterDHCP +/ip dhcp-server network +add address=10.30.30.0/24 caps-manager=10.30.30.10 dhcp-option=\ + domain-search-list dhcp-option-set=domain-search-set dns-server=\ + 10.30.30.81 domain=WORKGROUP gateway=10.30.30.81 netmask=24 ntp-server=\ + 10.30.30.81,10.30.30.10 wins-server=10.30.30.95,10.30.30.98 +/ip dns +set allow-remote-requests=yes servers=10.30.30.33,89.110.101.17 +/ip dns static +add address=10.30.30.81 comment=defconf name=router.lan type=A +add address=10.30.30.81 comment=defconf name=master type=A +add address=10.30.30.33 comment=amster name=amster.vados.ru type=A +add address=8.8.8.8 name=dns.google type=A +add address=8.8.4.4 name=dns.google type=A +add address=1.0.0.1 comment="CloudFlare-doh IPv4 2" name=\ + security.cloudflare-dns.com type=A +add address=1.1.1.1 comment="CloudFlare-doh IPv4 1" name=\ + security.cloudflare-dns.com type=A +add address=149.112.112.112 comment="Cuad9-dns IPv4 2" disabled=yes name=\ + dns.quad9.net type=A +add address=9.9.9.9 comment="Cuad9-dns IPv4 1" disabled=yes name=\ + dns.quad9.net type=A +add address=91.192.189.2 comment=Unet-DNS disabled=yes name=ns1.unet.ws type=\ + A +add address=91.192.189.2 comment=Unet-DNS disabled=yes name=ns1.unet.ws type=\ + A +/ip firewall address-list +add address=10.0.0.0/8 list=RFC1918 +add address=172.16.0.0/12 list=RFC1918 +add address=192.168.0.0/16 list=RFC1918 +add address=91.215.120.206 list=TRUSTED +add address=185.71.70.78 disabled=yes list=TRUSTED +add address=176.53.203.171 disabled=yes list=TRUSTED +add address=176.53.203.170 disabled=yes list=TRUSTED +add address=176.53.202.194 disabled=yes list=TRUSTED +add address=8.8.4.4 disabled=yes list=to_vpn +add address=10.30.30.98 comment=vados-len list=Local2Vpn +add address=89.110.101.17 list=VDS +add address=109.107.177.79 list=TRUSTED +add address=185.71.70.78 disabled=yes list=TRUSTED +add address=176.53.203.171 disabled=yes list=TRUSTED +add address=176.53.203.170 disabled=yes list=TRUSTED +add address=176.53.202.194 disabled=yes list=TRUSTED +add address=2ip.ru list=Test +add address=89.110.101.17 comment=VDSIna list=TRUSTED +add address=10.8.0.0/24 comment="WG VDSIna" list=TRUSTED +add address=ikus.pesc.ru comment=ikus.pesc.ru list=NoVdsina +add address=love.ru comment=love.ru list=NoVdsina +add address=gosuslugi.ru comment=gosuslugi.ru list=NoVdsina +add address=pochta.ru comment=pochta.ru list=NoVdsina +add address=vdsina.com comment=vdsina.com list=NoVdsina +add address=vdsina.ru comment=vdsina.ru list=NoVdsina +add address=youla.ru comment=youla.ru list=NoVdsina +add address=kupiprodai.ru comment=kupiprodai.ru list=NoVdsina +add address=myip.ru list=Test +add address=geoip.co comment=geoip.co list=NoVdsina +add address=x.com list=Twitter +add address=facebook.com list=facebook +add address=fbcd.net list=facebook +add address=comp-lenta.ru comment=comp-lenta.ru list=NoVdsina +add address=128.85.102.70 comment=update.microsoft.com list=\ + windowsupdateslist +add address=wu-b-net.trafficmanager.net. comment=\ + ctldl.windowsupdate.com.delivery.microsoft.com list=windowsupdateslist +add address=ctldl.windowsupdate.com.delivery.microsoft.com. comment=\ + ctldl.windowsupdate.com list=windowsupdateslist +add address=redir.update.msft.com.trafficmanager.net. comment=\ + update.microsoft.com list=windowsupdateslist +add address=geo.prod.do.dsp.trafficmanager.net. comment=\ + geo.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=13.74.139.29 comment=array605.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=kv801.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + kv801.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=e12437.d.akamaiedge.net. comment=\ + kv801.prod.do.dsp.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=displaycatalog-rp.md.mp.microsoft.com.akadns.net. comment=\ + displaycatalog.mp.microsoft.com list=windowsupdateslist +add address=rp-consumer-prod-displaycatalog-geomap.trafficmanager.net. \ + comment=displaycatalog-rp.md.mp.microsoft.com.akadns.net list=\ + windowsupdateslist +add address=sls.update.microsoft.com. comment=slscr.update.microsoft.com \ + list=windowsupdateslist +add address=glb.sls.prod.dcat.dsp.trafficmanager.net. comment=\ + sls.update.microsoft.com list=windowsupdateslist +add address=fe3.delivery.mp.microsoft.com. comment=\ + fe3cr.delivery.mp.microsoft.com list=windowsupdateslist +add address=glb.cws.prod.dcat.dsp.trafficmanager.net. comment=\ + fe3.delivery.mp.microsoft.com list=windowsupdateslist +add address=fe2cr.update.msft.com.trafficmanager.net. comment=\ + fe2cr.update.microsoft.com list=windowsupdateslist +add address=download.windowsupdate.com.delivery.microsoft.com. comment=\ + download.windowsupdate.com list=windowsupdateslist +add address=wu-f-net.trafficmanager.net. comment=\ + download.windowsupdate.com.delivery.microsoft.com list=windowsupdateslist +add address=tsfe.trafficmanager.net. comment=\ + tsfe.trafficshaping.dsp.mp.microsoft.com list=windowsupdateslist +add address=edge.ds-c7110-microsoft.global.dns.qwilted-cds.cqloud.com. \ + comment=9.au.download.windowsupdate.com list=windowsupdateslist +add address=52.158.227.125 comment=array812.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=au.download.windowsupdate.com.delivery.microsoft.com. comment=\ + au.download.windowsupdate.com list=windowsupdateslist +add address=a767.dspw65.akamai.net. comment=\ + download.windowsupdate.com.edgesuite.net list=windowsupdateslist +add address=52.151.58.88 comment=array810.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=consumer-licensing-aks2aks.md.mp.microsoft.com.akadns.net. \ + comment=licensing.mp.microsoft.com list=windowsupdateslist +add address=licensing-prod-frontdoor-geomap.trafficmanager.net. comment=\ + consumer-licensing-aks2aks.md.mp.microsoft.com.akadns.net list=\ + windowsupdateslist +add address=star.f.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.f.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=cdp-f-nlu-net.trafficmanager.net. comment=\ + star.f.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=star.b.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.b.tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=cdp-f-tlu-net.trafficmanager.net. comment=\ + star.b.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=storeedgefd.xbetservices.akadns.net. comment=\ + storeedgefd.dsx.mp.microsoft.com list=windowsupdateslist +add address=\ + storeedgefd.dsx.mp.microsoft.com.edgekey.net.globalredir.akadns.net. \ + comment=storeedgefd.dsx.mp.microsoft.com.edgekey.net list=\ + windowsupdateslist +add address=e16646.dscg.akamaiedge.net. comment=\ + storeedgefd.dsx.mp.microsoft.com.edgekey.net.globalredir.akadns.net list=\ + windowsupdateslist +add address=40.69.76.189 comment=array621.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=bg.microsoft.map.fastly.net. comment=\ + 3.au.download.windowsupdate.com list=windowsupdateslist +add list=windowsupdateslist +add address=40.69.75.33 comment=array613.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=star.sf.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedgeextensions.sf.tlu.dl.delivery.mp.microsoft.com list=\ + windowsupdateslist +add address=cdp-f-ssl-tlu-net.trafficmanager.net. comment=\ + star.sf.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=a2033.dscd.akamai.net. comment=\ + star.sb.tlu.dl.delivery.mp.microsoft.com.edgesuite.net list=\ + windowsupdateslist +add address=13.74.138.242 comment=array602.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=dl.delivery.mp.microsoft.com.delivery.microsoft.com. comment=\ + dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=dcat-f-nlu-net.trafficmanager.net. comment=\ + dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=1d.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=1D.tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=dcat-b-tlu-net.trafficmanager.net. comment=\ + 1d.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=a122.dscg3.akamai.net. comment=\ + tlu.dl.delivery.mp.microsoft.com.edgesuite.net list=windowsupdateslist +add address=geover.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + geover.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=e10370.d.akamaiedge.net. comment=\ + geover.prod.do.dsp.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=52.232.182.21 comment=array511.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.70.77.95 comment=array519.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=a1683.dscd.akamai.net. comment=\ + dl.delivery.mp.microsoft.com-c.edgesuite.net list=windowsupdateslist +add address=consumer-collections-aks2eap.md.mp.microsoft.com.akadns.net. \ + comment=collections.mp.microsoft.com list=windowsupdateslist +add address=a1847.dscd.akamai.net. comment=\ + wildcard.f.tlu.dl.delivery.mp.microsoft.com.edgesuite.net list=\ + windowsupdateslist +add address=13.74.142.6 comment=array607.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=au.download.windowsupdate.com.edgesuite.net. comment=\ + 2.au.download.windowsupdate.com list=windowsupdateslist +add address=a767.dscg3.akamai.net. comment=\ + au.download.windowsupdate.com.edgesuite.net list=windowsupdateslist +add address=52.156.123.84 comment=array818.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.78.254 comment=array610.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=4.au.download.windowsupdate.com.delivery.microsoft.com. comment=\ + 4.au.download.windowsupdate.com list=windowsupdateslist +add address=cl-glcb907925.gcdn.co. comment=\ + 4.au.download.windowsupdate.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=52.167.167.111 comment=array510.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=40.69.70.43 comment=array623.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=tsfe.trafficshaping.dsp.mp.microsoft.com.delivery.microsoft.com. \ + comment=tsfe.trafficshaping.dsp.mp.microsoft.com list=windowsupdateslist +add address=ts-frontend.trafficmanager.net. comment=\ + tsfe.trafficshaping.dsp.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=40.69.75.248 comment=array616.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.74.84 comment=array615.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=sds.trafficmanager.net. comment=software-download.microsoft.com \ + list=windowsupdateslist +add address=40.69.74.80 comment=array611.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.175.242.182 comment=array804.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=dlc-shim.trafficmanager.net. comment=download.microsoft.com list=\ + windowsupdateslist +add address=e12671.dscd.akamaiedge.net. comment=\ + download.microsoft.com.edgekey.net list=windowsupdateslist +add address=20.187.55.34 comment=array808.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.167.231 comment=array513.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=52.167.222.13 comment=array518.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=kv601.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + kv601.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=e12358.d.akamaiedge.net. comment=\ + kv601.prod.do.dsp.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. comment=\ + tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=dcat-f-tlu-net.trafficmanager.net. comment=\ + tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=a1856.dspw65.akamai.net. comment=\ + tlu.dl.delivery.mp.microsoft.com-c.edgesuite.net list=windowsupdateslist +add address=52.167.164.252 comment=array506.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=13.74.137.54 comment=array601.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=kv501.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + kv501.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=collections-prod-frontdoor-geomap.trafficmanager.net. comment=\ + consumer-collections-aks2eap.md.mp.microsoft.com.akadns.net list=\ + windowsupdateslist +add address=52.167.160.173 comment=array509.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=40.70.77.148 comment=array516.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.200.126 comment=array507.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=52.167.167.59 comment=array508.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.76.172 comment=array620.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=82.202.162.184 comment=comp-lenta.ru list=NoWG +add address=smtp.mail.me.com.akadns.net. comment=smtp.mail.me.com list=NoWG +add address=17.57.155.37 comment=smtp.mail.me.com.akadns.net list=NoWG +add address=smtp.mail.me.com comment=smtp.mail.me.com list=NoVdsina +add address=40.70.76.5 comment=array514.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.186.119 comment=array618.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.177.176.186 comment=array520.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=40.70.76.27 comment=array515.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.160.43 comment=array503.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.110 comment=array817.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.142.8 comment=array614.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.138.254 comment=array603.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.167.96 comment=array501.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.76.215 comment=array622.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.143.200 comment=array606.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.111 comment=array818.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.112 comment=array819.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.137.53 comment=array608.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.98 comment=array805.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.96 comment=array803.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.104 comment=array811.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.101 comment=array808.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.99 comment=array806.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.17 comment=array802.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.97 comment=array804.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.103 comment=array810.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.16 comment=array801.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.70.77.177 comment=array517.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.164.84 comment=array512.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.105 comment=array812.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.107 comment=array814.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.232.161.82 comment=array502.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.108 comment=array815.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.161.91 comment=array505.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.102 comment=array809.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.109 comment=array816.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.106 comment=array813.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.117 comment=array622.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.107 comment=array612.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.108 comment=array613.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.105 comment=array610.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.113 comment=array618.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.116 comment=array621.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.98 comment=array603.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.114 comment=array619.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.111 comment=array616.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.97 comment=array602.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.106 comment=array611.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.110 comment=array615.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.119 comment=array624.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.135 comment=array514.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.97 comment=array503.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.99 comment=array604.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.61 comment=array504.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.131 comment=array510.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.132 comment=array511.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.96 comment=array601.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.104 comment=array609.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.138 comment=array517.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.60 comment=array501.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.139 comment=array518.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.118 comment=array623.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.113 comment=array820.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.103 comment=array608.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.100 comment=array807.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.129 comment=array508.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.134 comment=array513.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.62 comment=array505.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.137 comment=array516.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.101 comment=array606.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.96 comment=array502.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.130 comment=array509.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.112 comment=array617.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.100 comment=array605.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.115 comment=array620.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.136 comment=array515.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=purchase.md.mp.microsoft.com.akadns.net. comment=\ + purchase.mp.microsoft.com list=windowsupdateslist +add address=e110219.a.akamaiedge.net. comment=\ + purchase.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=72.153.5.140 comment=array519.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.141 list=windowsupdateslist +add address=72.153.5.63 comment=array506.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.128 comment=array507.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.102 comment=array607.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=storesdk.xbetservices.akadns.net. comment=\ + storesdk.dsx.mp.microsoft.com list=windowsupdateslist +add address=e16646.g.akamaiedge.net. comment=\ + storesdk.dsx.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=software-download.microsoft.com.delivery.microsoft.com. comment=\ + software-download.microsoft.com list=windowsupdateslist +add address=download.prss.microsoft.com.akamaized.net. comment=\ + software-download.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.109 comment=array614.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.133 comment=array512.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=213.180.192.0/19 comment=YandexDisk list=NoVdsina +add address=87.250.250.50 comment=YandexDisk list=NoVdsina +add address=consumer-prod-bcfd-v7-afd.trafficmanager.net. comment=\ + displaycatalog.mp.microsoft.com list=windowsupdateslist +add address=purchase-europeeap.md.mp.microsoft.com.akadns.net. comment=\ + purchase.md.mp.microsoft.com.akadns.net list=windowsupdateslist +add address=ne-az-conspurchase-mp.trafficmanager.net. comment=\ + purchase-europeeap.md.mp.microsoft.com.akadns.net list=windowsupdateslist +add address=storeedgefd.dsx.mp.microsoft.com.edgekey.net. comment=\ + cdn.storeedgefd.dsx.mp.microsoft.com list=windowsupdateslist +add address=star.f.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.f.tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=a1996.dscd.akamai.net. comment=\ + wildcard.f.dl.delivery.mp.microsoft.com.edgesuite.net list=\ + windowsupdateslist +add address=cp801.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + cp801.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=glb.tas02.sls-prod.dcat.dsp.mp.microsoft.com. comment=\ + tas02.sls.update.microsoft.com list=windowsupdateslist +add address=cp601.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + cp601.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=star.sb.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedgeextensions.sb.tlu.dl.delivery.mp.microsoft.com list=\ + windowsupdateslist +add address=star.sf.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.sf.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=cdp-f-ssl-nlu-net.trafficmanager.net. comment=\ + star.sf.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=tm-pifd-prod-gbl-weight.trafficmanager.net. comment=\ + paymentinstruments.mp.microsoft.com list=windowsupdateslist +add address=10.30.30.33 comment=NUC disabled=yes list=NoWG +add address=10.30.30.10 comment=MikroNUC disabled=yes list=NoWG +add address=89.110.101.17 comment=!!!VDSINA!!!! disabled=yes list=NoWG +add address=wg.vados.ru comment=VDSina-vpn list=Trusted-VPN +add address=80.85.244.9 list=TRUSTED +add address=disc801.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + disc801.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=185.71.70.78 disabled=yes list=TRUSTED +add address=176.53.203.171 disabled=yes list=TRUSTED +add address=176.53.203.170 disabled=yes list=TRUSTED +add address=176.53.202.194 disabled=yes list=TRUSTED +add address=vdsina.vados.ru comment="!!!VDSina Server!!!" list=NoVdsina +add address=dns.quad9.net comment=Quad9-dns disabled=yes list=Trusted-DNS +add address=dns.google comment=Google-dns list=Trusted-DNS +add address=security.cloudflare-dns.com comment=CloudFlare-dns list=\ + Trusted-DNS +add address=time.google.com comment=Google-time list=Trusted-NTP +add address=0.ru.pool.ntp.org comment=ru.pool.ntp.org disabled=yes list=\ + Trusted-NTP +add address=1.ru.pool.ntp.org disabled=yes list=Trusted-NTP +add address=2.ru.pool.ntp.org comment=2.ru.pool.ntp.org disabled=yes list=\ + Trusted-NTP +add address=3.ru.pool.ntp.org comment=3.ru.pool.ntp.org disabled=yes list=\ + Trusted-NTP +add address=cp.vdsina.com comment=VDSina-vpn list=Trusted-VPN +add address=vdsina.ru comment=VDSina-vpn list=Trusted-VPN +add address=ns.vados.ru comment=VDSina-vpn list=Trusted-VPN +add address=vdsina.com comment=VDSina-vpn list=Trusted-VPN +add address=cp.vdsina.ru comment=VDSina-vpn list=Trusted-VPN +add address=ns1.vdsina.ru comment=VDSina-vpn list=Trusted-VPN +add address=ghcr.io comment=GitHub list=Trusted-VPN +add address=github.com comment=GitHub list=Trusted-VPN +add address=149.154.164.13 comment=telegra.ph list=FuckRKN +add address=194.85.61.76 comment=grani.ru list=FuckRKN +add address=109.70.26.37 comment=grani.ru list=FuckRKN +add address=104.16.4.81 comment=xhamster.com list=FuckRKN +add address=104.16.3.81 comment=xhamster.com list=FuckRKN +add address=188.114.96.1 comment=lostfilm.tv list=FuckRKN +add address=188.114.97.1 comment=lostfilm.tv list=FuckRKN +add address=172.67.182.196 comment=rutracker.org list=FuckRKN +add address=104.21.32.39 comment=rutracker.org list=FuckRKN +add address=104.247.81.99 comment=lurkmore.to list=FuckRKN +add address=8.47.69.6 comment=dou.ua list=FuckRKN +add address=8.6.112.6 comment=dou.ua list=FuckRKN +add address=66.254.114.79 comment=youporn.com list=FuckRKN +add address=185.110.92.40 comment=pornolab.net list=FuckRKN +add address=185.110.92.41 comment=pornolab.net list=FuckRKN +add address=104.21.71.238 comment=crimerussia.com list=FuckRKN +add address=172.67.172.95 comment=crimerussia.com list=FuckRKN +add address=149.154.167.99 comment=telegram.org list=FuckRKN +add address=149.154.166.110 comment=api.telegram.org list=FuckRKN +add address=myip.ru comment="!!! Check IP (MYIP.RU) !!!" disabled=yes list=\ + NoVdsina +add address=ipinfo.io comment="!!! Check IP (IPINFO.IO) !!!" list=NoVdsina +/ip firewall filter +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=12h chain=input comment="block honeypot DNS UDP" \ + connection-state=new dst-port=53 in-interface="ether1 - Unet" protocol=\ + udp src-address-list=!VDS +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input comment="block honeypot DNS TCP" \ + connection-state=new dst-port=53 in-interface="ether1 - Unet" protocol=\ + tcp src-address-list=!VDS +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input comment="block honeypot NTP" \ + connection-state=new dst-port=123 in-interface="ether1 - Unet" protocol=\ + udp +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input comment="block honeypot asterisk" \ + connection-state=new dst-port=5060 in-interface="ether1 - Unet" protocol=\ + udp +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input comment=\ + "block honeypot ssh rdp winbox" connection-state=new dst-port=22,8291 \ + in-interface-list=WAN protocol=tcp src-address-list=!TRUSTED +add action=accept chain=input comment=\ + "defconf: accept established,related,untracked" connection-state=\ + established,related,untracked +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)" disabled=yes \ + dst-address=127.0.0.1 in-interface=lo src-address=127.0.0.1 +add action=drop chain=input comment="defconf: drop all not coming from LAN" \ + in-interface-list=!LAN +add action=accept chain=forward comment="defconf: accept in ipsec policy" \ + disabled=yes ipsec-policy=in,ipsec +add action=accept chain=forward comment="defconf: accept out ipsec policy" \ + disabled=yes ipsec-policy=out,ipsec +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 \ + in-interface-list=WAN +/ip firewall mangle +add action=accept chain=prerouting dst-address-list=RFC1918 \ + in-interface-list=!WAN +add action=mark-connection chain=prerouting comment="NO VPN" disabled=yes \ + dst-address-list=NoVdsina in-interface-list=!WAN new-connection-mark=\ + To-ISP +add action=mark-routing chain=prerouting comment=All2vpn connection-mark=\ + !To-ISP disabled=yes dst-address=!89.110.101.17 dst-address-list=\ + !NoVdsina new-routing-mark=To-VPN src-address=10.30.30.0/24 \ + src-address-list=!NoWG +add action=change-mss chain=forward comment="MSS on WG" connection-mark=\ + !To-ISP disabled=yes in-interface-list=!WAN new-mss=1380 protocol=tcp \ + tcp-flags=syn tcp-mss=1381-65535 +add action=mark-routing chain=prerouting connection-mark=to-vpn-conn \ + disabled=yes new-routing-mark=To-VPN routing-mark=To-VPN src-address=\ + 10.30.30.0/24 +add action=mark-connection chain=prerouting comment=\ + "Mark VPN connections to exclude from FastTrack" disabled=yes \ + in-interface=*B log-prefix=Mark-VPN-FT new-connection-mark=\ + VPN_No_FastTrack +add action=accept chain=prerouting comment="SSH To ME" disabled=yes \ + dst-address=10.30.30.81 dst-port=2222 in-interface-list=!WAN protocol=tcp \ + src-address=10.30.30.0/24 +add action=mark-routing chain=prerouting comment="VPN Network" disabled=yes \ + dst-address=10.8.0.0/24 log-prefix=VPN-Net new-routing-mark=To-VPN \ + src-address=10.30.30.0/24 +/ip firewall nat +add action=masquerade chain=srcnat comment="Default NAT" dst-address=\ + !10.30.30.0/24 ipsec-policy=out,none out-interface="ether1 - Unet" \ + routing-mark=!To-VPN src-address=10.30.30.0/24 +add action=masquerade chain=srcnat comment="NAT for VPN" disabled=yes \ + out-interface=lo routing-mark=To-VPN +add action=dst-nat chain=dstnat comment="dst-nat for acme" dst-port=80 \ + in-interface="ether1 - Unet" protocol=tcp to-addresses=10.30.30.33 \ + to-ports=80 +add action=dst-nat chain=dstnat comment="dst-nat for amster HTTPS" dst-port=\ + 443 in-interface="ether1 - Unet" protocol=tcp to-addresses=10.30.30.33 \ + to-ports=443 +add action=dst-nat chain=dstnat comment="dst-nat for amster ssh" disabled=yes \ + dst-port=22 protocol=tcp src-address-list=VDS to-addresses=10.30.30.33 \ + to-ports=22 +add action=dst-nat chain=dstnat comment="dst-nat for amster DNS (TCP)" \ + dst-port=53 in-interface="ether1 - Unet" protocol=tcp src-address-list=\ + VDS to-addresses=10.30.30.33 to-ports=53 +add action=dst-nat chain=dstnat comment="dst-nat for amster DNS (UDP)" \ + dst-port=53 in-interface="ether1 - Unet" protocol=udp src-address-list=\ + VDS to-addresses=10.30.30.33 to-ports=53 +add action=masquerade chain=srcnat src-address=172.20.200.68/30 +/ip firewall service-port +set ftp disabled=yes +set tftp disabled=yes +set irc disabled=no +set sip disabled=yes +set pptp disabled=yes +set rtsp disabled=no +/ip hotspot user profile +set [ find default=yes ] address-pool=dhcp +/ip route +add check-gateway=ping disabled=yes distance=1 dst-address=10.10.10.0/24 \ + gateway=10.30.30.33 routing-table=main scope=30 target-scope=10 +add comment=awg2all-dns disabled=yes distance=1 dst-address=10.9.0.1/32 \ + gateway="" +add comment=awg2all-dns disabled=yes distance=1 dst-address=8.8.4.4/32 \ + gateway="" +add comment=awg2vds-dns distance=1 dst-address=10.10.10.1/32 gateway="" +/ip service +set ftp disabled=yes +set telnet disabled=yes +set www disabled=yes port=188 +set reverse-proxy disabled=yes +set ssh port=2222 +set www-ssl port=4433 +set api disabled=yes +set api-ssl disabled=yes +/ip service webserver +set acme-plain=no crl-plain=no graphs-plain=no graphs-secure=no index-plain=\ + no index-secure=no rest-plain=no rest-secure=no scep-plain=no \ + webfig-plain=no webfig-secure=no +/ip ssh +set forwarding-enabled=both publickey-authentication-options=verify-required \ + strong-crypto=yes +/ip upnp +set enabled=yes +/ip upnp interfaces +add interface="ether1 - Unet" type=external +add interface=Bridge-Lan type=internal +/ipv6 firewall filter +add action=accept chain=input comment=\ + "defconf: accept established,related,untracked" connection-state=\ + established,related,untracked disabled=yes +add action=drop chain=input comment="defconf: drop invalid" connection-state=\ + invalid disabled=yes +add action=accept chain=input comment="defconf: accept ICMPv6" disabled=yes \ + protocol=icmpv6 +add action=accept chain=input comment="defconf: accept UDP traceroute" \ + disabled=yes dst-port=33434-33534 protocol=udp +add action=accept chain=input comment=\ + "defconf: accept DHCPv6-Client prefix delegation." disabled=yes dst-port=\ + 546 protocol=udp src-address=fe80::/10 +add action=accept chain=input comment="defconf: accept IKE" disabled=yes \ + dst-port=500,4500 protocol=udp +add action=accept chain=input comment="defconf: accept ipsec AH" disabled=yes \ + protocol=ipsec-ah +add action=accept chain=input comment="defconf: accept ipsec ESP" disabled=\ + yes protocol=ipsec-esp +add action=accept chain=input comment=\ + "defconf: accept all that matches ipsec policy" disabled=yes \ + ipsec-policy=in,ipsec +add action=drop chain=input comment=\ + "defconf: drop everything else not coming from LAN" disabled=yes \ + in-interface-list=!LAN +add action=fasttrack-connection chain=forward comment="defconf: fasttrack6" \ + 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 packets with bad src ipv6" src-address-list=bad_ipv6 +add action=drop chain=forward comment=\ + "defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6 +add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" \ + hop-limit=equal:1 protocol=icmpv6 +add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=\ + icmpv6 +add action=accept chain=forward comment="defconf: accept HIP" protocol=139 +add action=accept chain=forward comment="defconf: accept IKE" dst-port=\ + 500,4500 protocol=udp +add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=\ + ipsec-ah +add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=\ + ipsec-esp +add action=accept chain=forward comment=\ + "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec +add action=drop chain=forward comment=\ + "defconf: drop everything else not coming from LAN" in-interface-list=\ + !LAN +/system clock +set time-zone-autodetect=no time-zone-name=Europe/Moscow +/system identity +set name=MikroMaster +/system ntp client +set enabled=yes +/system ntp server +set enabled=yes manycast=yes multicast=yes use-local-clock=yes +/system ntp client servers +add address=time.google.com +/system scheduler +add comment="Every Day Set Global Environment Variables" name=AM-SetGlobalEnv \ + on-event="/system/script { run AM-GlobalConfig; run AM-GlobalFunc; }" \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Every Day Check For Update Scripts" interval=1d name=\ + AM-ScriptInstallUpdate on-event=\ + ":global ScriptInstallUpdate; \$ScriptInstallUpdate;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +/tool e-mail +set certificate-verification=no from=MikroVados port=587 \ + server=smtp.mail.me.com tls=starttls user=vadossio@icloud.com +/tool netwatch +add comment="doh-fallback, doh-url=https://security.cloudflare-dns.com/dns-que\ + ry, doh-cert=DigiCert Global Root CA, notify, name=CloudFlare-doh IPv4 1" \ + disabled=yes host=1.1.1.1 type=simple +add comment="doh, doh-url=https://security.cloudflare-dns.com/dns-query, doh-c\ + ert=DigiCert Global Root CA, notify, name=CloudFlare-doh IPv4 2" \ + disabled=yes host=1.0.0.1 type=simple +add comment="doh-fallback, dns-fallback, doh-url=https://dns.google/dns-query,\ + \_doh-cert=DigiCert Global Root G2, notify, name=Google-doh IPv4 1" \ + disabled=yes host=8.8.8.8 type=simple +add comment="doh-fallback, dns-fallback, doh-url=https://dns.google/dns-query,\ + \_doh-cert=DigiCert Global Root G2, notify, name=Google-doh IPv4 2" \ + disabled=yes host=8.8.4.4 type=simple +add comment="doh-fallback, dns-fallback, doh-url=https://dns.quad9.net/dns-que\ + ry, doh-cert=DigiCert Global Root G3, notify, name=Cuad9-doh IPv4 1" \ + disabled=yes host=9.9.9.9 type=simple +add comment="doh-fallback, dns-fallback, doh-url=https://dns.quad9.net/dns-que\ + ry, doh-cert=DigiCert Global Root G3, notify, name=Cuad9-doh IPv4 2" \ + disabled=yes host=149.112.112.112 type=simple +add comment="dns, notify, name=ns1.unet.ws" disabled=yes host=91.192.189.2 \ + type=simple +/user aaa +set accounting=no diff --git a/MikroMaster/history/20260817/20260817224001-Diff-Config.rsc b/MikroMaster/history/20260817/20260817224001-Diff-Config.rsc new file mode 100644 index 0000000..f97929f --- /dev/null +++ b/MikroMaster/history/20260817/20260817224001-Diff-Config.rsc @@ -0,0 +1,306 @@ +19a20,24 +> /interface veth +> add address=172.20.200.70/30 container-mac-address=00:00:00:00:00:00 dhcp=no \ +> gateway=172.20.200.69 gateway6="" name=veth-awg2vds +> /interface wireguard +> add disabled=yes listen-port=26084 mtu=1420 name=wg-awg2vds +296a302,554 +> add comment=GENERATOR dont-require-permissions=no name=awg2vds owner=vados \ +> policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ +> source="# ============================================================\ +> \n# AWG Proxy -- MikroTik RouterOS (protocol: v2)\ +> \n# 2026-07-21 10:33:39\ +> \n# ============================================================\ +> \n\ +> \n# 0. Check prerequisites\ +> \n:if ([:len [/system/package/find where name=\"container\" disabled=no]] \ +> = 0) do={\ +> \n :put \"Container package is not installed or disabled. Install it and \ +> reboot.\"\ +> \n :error \"Usage: /system/device-mode/update container=yes\"\ +> \n}\ +> \n\ +> \n# Check storage device\ +> \n{\ +> \n :local targetDisk \"usb1\"\ +> \n :local diskFree 0\ +> \n :do { :set diskFree [/disk/get [find where mount-point=\$targetDisk] f\ +> ree] } on-error={}\ +> \n :if (\$diskFree = 0) do={\ +> \n :local baseDisk \$targetDisk\ +> \n :local dashPos [:find \$targetDisk \"-part\"]\ +> \n :if ([:typeof \$dashPos] != \"nil\") do={ :set baseDisk [:pick \$tar\ +> getDisk 0 \$dashPos] }\ +> \n :if ([:len [/disk/find where slot=\$baseDisk]] > 0) do={\ +> \n :put (\"Device \$baseDisk found but \$targetDisk is not available.\ +> \")\ +> \n :put \"Format \$baseDisk as ext4\? ALL DATA WILL BE ERASED!\"\ +> \n :put \"Press 'y' to confirm, any other key to cancel:\"\ +> \n :local key [/terminal/inkey timeout=30]\ +> \n :if (\$key = 121 || \$key = 89) do={\ +> \n :put \"Formatting \$baseDisk as ext4...\"\ +> \n /disk/format-drive \$baseDisk file-system=ext4 label=\$baseDisk\ +> \n :delay 3s\ +> \n :do { :set diskFree [/disk/get [find where mount-point=\$targetD\ +> isk] free] } on-error={}\ +> \n :if (\$diskFree = 0) do={\ +> \n :put (\"ERROR: \$targetDisk not found after formatting.\")\ +> \n :put \"Check mount point: /disk/print\"\ +> \n :error (\"Mount point \$targetDisk not found after formatting\ +> \")\ +> \n }\ +> \n :put (\"Formatted OK. Free: \" . (\$diskFree / 1048576) . \" MB\ +> \")\ +> \n } else={\ +> \n :error \"Formatting cancelled\"\ +> \n }\ +> \n } else={\ +> \n :put (\"ERROR: Storage device \$targetDisk not found.\")\ +> \n :put \"Check available disks: /disk/print\"\ +> \n :error (\"Storage not found: \" . \$targetDisk)\ +> \n }\ +> \n } else={\ +> \n :put (\"Storage OK: \$targetDisk (\" . (\$diskFree / 1048576) . \" M\ +> B free)\")\ +> \n }\ +> \n}\ +> \n\ +> \n# 1. Uninstall script\ +> \n/system/script/add name=awg2vds-uninstall comment=awg2vds source={\ +> \n :put \"Uninstallimg AmneziaWG...\"\ +> \n :log info \"Uninstallimg AmneziaWG...\"\ +> \n :local prevDNS \"\"\ +> \n :do { :set prevDNS [/container/envs/get [find where list=\"awg2vds-env\ +> \" key=\"AWG_PREV_DNS\"] value] } on-error={}\ +> \n :local prevTmpdir \"\"\ +> \n :do { :set prevTmpdir [/container/envs/get [find where list=\"awg2vds-\ +> env\" key=\"AWG_PREV_TMPDIR\"] value] } on-error={}\ +> \n /ip/route/remove [find where comment=awg2vds-tunnel]\ +> \n /ip/route/remove [find where comment=awg2vds-dns]\ +> \n /container/stop [find where interface=veth-awg2vds]\ +> \n :delay 7s\ +> \n /container/remove [find where interface=veth-awg2vds]\ +> \n /container/envs/remove [find where list=\"awg2vds-env\"]\ +> \n :if (\$prevDNS != \"\") do={\ +> \n :do { /ip/dns/set servers=\"\$prevDNS\" } on-error={}\ +> \n :put (\"DNS restored to: \$prevDNS\")\ +> \n }\ +> \n /container/config set tmpdir=\$prevTmpdir\ +> \n :put (\"Container tmpdir restored to: \$prevTmpdir\")\ +> \n /ip/firewall/nat/remove [find where out-interface=\"wg-awg2vds\"]\ +> \n /ip/firewall/nat/remove [find where src-address=\"172.20.200.68/30\"]\ +> \n /ip/address/remove [find where address=\"172.20.200.69/30\"]\ +> \n /interface/veth/remove [find where name=\"veth-awg2vds\"]\ +> \n /interface/wireguard/peers/remove [find where interface=\"wg-awg2vds\"\ +> ]\ +> \n /ip/address/remove [find where interface=\"wg-awg2vds\"]\ +> \n /interface/wireguard/remove [find where name=\"wg-awg2vds\"]\ +> \n :do { /file/remove [find where name~\"awg2vds.+tar\"] } on-error={}\ +> \n :do { /file/remove [find where name=\"usb1/awg2vds\"] } on-error={}\ +> \n :do { /file/remove [find where name=\"usb1/ru_ranges_timeout.rsc\"] } \ +> on-error={}\ +> \n :do { /file/remove [find where name~\"usb1/pull\"] } on-error={}\ +> \n :put \"Uninstall AmneziaWG Proxy complete!\"\ +> \n :log info \"Uninstall AmneziaWG Proxy complete!\"\ +> \n /system/script/remove [find where name=awg2vds-uninstall]\ +> \n}\ +> \n\ +> \n# 2. Network infrastructure\ +> \n/interface/veth/add name=veth-awg2vds address=172.20.200.70/30 gateway=1\ +> 72.20.200.69\ +> \n/ip/address/add address=172.20.200.69/30 interface=veth-awg2vds\ +> \n/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.20.2\ +> 00.68/30\ +> \n\ +> \n# 3. WireGuard interface (MikroTik derives the public key automatically)\ +> \n/interface/wireguard/add name=wg-awg2vds private-key=\"4LNSJJNEDeT2LFXkF\ +> x0XyrNp2Mp7YXlS8SawhqNfKGQ=\" listen-port=26084 disabled=yes\ +> \n/interface/wireguard/peers/add interface=wg-awg2vds public-key=\"qHFd72X\ +> DJJ5UrUZCZ0vRFQmzxP7eUYcOuaGL9ZbHtyg=\" preshared-key=\"ckhzjCcr15ve+IeDRY\ +> veYITR7a/CMZCcOZ2Z0cABKD8=\" endpoint-address=172.20.200.70 endpoint-port=\ +> 51820 allowed-address=10.10.10.1/24,10.30.30.0/24,0.0.0.0/0 persistent-kee\ +> palive=10\ +> \n/ip/address/add address=10.10.10.2/24 interface=wg-awg2vds\ +> \n\ +> \n# 4. Container environment variables\ +> \n/container/envs/add list=awg2vds-env key=AWG_LISTEN value=\":51820\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_REMOTE value=\"109.107.177.\ +> 79:443\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_JC value=\"6\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_JMIN value=\"171\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_JMAX value=\"481\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_S1 value=\"50\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_S2 value=\"139\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_H1 value=\"1189447486-11894\ +> 48396\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_H2 value=\"538303610-538304\ +> 276\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_H3 value=\"101001960-101002\ +> 598\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_H4 value=\"1783887443-17838\ +> 87851\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_SERVER_PUB value=\"qHFd72XD\ +> JJ5UrUZCZ0vRFQmzxP7eUYcOuaGL9ZbHtyg=\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_CLIENT_PUB value=[/interfac\ +> e/wireguard/get [find name=wg-awg2vds] public-key]\ +> \n/container/envs/add list=awg2vds-env key=AWG_S3 value=\"17\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_S4 value=\"6\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_I1 value=\" 2a442>\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_I2 value=\"\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_I3 value=\"\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_I4 value=\"\"\ +> \n/container/envs/add list=awg2vds-env key=AWG_I5 value=\"\"\ +> \n\ +> \n# 5. DNS\ +> \n{ :local rawDNS [/ip/dns/get servers]; :local prevDNS \"\"; :foreach s i\ +> n=[:toarray \$rawDNS] do={ :if ([:len \$prevDNS] > 0) do={ :set prevDNS \"\ +> \$prevDNS,\$s\" } else={ :set prevDNS \$s } }; /container/envs/add list=aw\ +> g2vds-env key=AWG_PREV_DNS value=\"\$prevDNS\" }\ +> \n# NOTE: replaces existing DNS configuration\ +> \n/ip/dns/set servers=10.10.10.1\ +> \n/ip/route/add dst-address=10.10.10.1/32 gateway=wg-awg2vds distance=1 co\ +> mment=awg2vds-dns\ +> \n\ +> \n# 6. Download, create and start container\ +> \n:local prevTmpdir [/container/config/get tmpdir]\ +> \n/container/envs/add list=awg2vds-env key=AWG_PREV_TMPDIR value=\$prevTmp\ +> dir\ +> \n/container/config set tmpdir=usb1/pull memory-high=200M\ +> \n{\ +> \n :local arch [/system/resource/get architecture-name]\ +> \n :local ver [/system/resource/get version]\ +> \n :local dotPos [:find \$ver \".\"]\ +> \n :local rest [:pick \$ver (\$dotPos + 1) [:len \$ver]]\ +> \n :local endPos [:find \$rest \".\"]\ +> \n :if ([:typeof \$endPos] = \"nil\") do={ :set endPos [:find \$rest \" \ +> \"] }\ +> \n :local minor [:tonum [:pick \$rest 0 \$endPos]]\ +> \n :local suffix \"\"\ +> \n :if (\$minor <= 20) do={ :set suffix \"-7.20-Docker\" }\ +> \n :local file \"\"\ +> \n :if (\$arch = \"arm64\") do={ :set file (\"awg-proxy-arm64\" . \$suffi\ +> x . \".tar.gz\") }\ +> \n :if (\$arch = \"arm\") do={ :set file (\"awg-proxy-arm\" . \$suffix . \ +> \".tar.gz\") }\ +> \n :if (\$arch ~ \"x86\") do={ :set file (\"awg-proxy-amd64\" . \$suffix \ +> . \".tar.gz\") }\ +> \n :if (\$file = \"\") do={ :error \"Unsupported architecture: \$arch\" }\ +> \n #:local url \"https://github.com/timbrs/amneziawg-mikrotik-c/releases/\ +> latest/download/\$file\"\ +> \n :local url \"https://ros.vados.ru/amneziawg/img/\$file\"\ +> \n :local filePath (\"usb1/pull/\" . \$file)\ +> \n :do { /file/make-directory usb1/pull } on-error={}\ +> \n :if ([:len [/file/find where name=\$filePath]] = 0) do={\ +> \n :local freeStorage 0\ +> \n :do { :set freeStorage [/disk/get [find where mount-point=\"usb1\"] \ +> free] } on-error={}\ +> \n :if (\$freeStorage < 262144) do={\ +> \n :put (\"WARNING: Low disk space (\" . (\$freeStorage / 1024) . \"K\ +> B free). Need at least 256KB.\")\ +> \n :put \"See: https://github.com/timbrs/amneziawg-mikrotik-c#insuffi\ +> cient-disk-space\"\ +> \n :error \"Insufficient disk space\"\ +> \n }\ +> \n :put (\"Fetching: \$url -> \" . \$filePath)\ +> \n /tool/fetch url=\$url dst-path=\$filePath http-max-redirect-count=10\ +> \n } else={\ +> \n :put (\"File already exists: \" . \$filePath)\ +> \n }\ +> \n /container/add file=\$filePath interface=veth-awg2vds envlist=awg2vds-\ +> env hostname=awg2vds root-dir=usb1/awg2vds logging=no start-on-boot=yes co\ +> mment=awg2vds\ +> \n :if (\$minor > 20) do={ [:parse \"/container/set [find where interface\ +> =veth-awg2vds] shm-size=4M\"] }\ +> \n /file/remove \$filePath\ +> \n :local freeMem [/system/resource/get free-memory]\ +> \n :if (\$freeMem < 16777216) do={\ +> \n :put (\"WARNING: Low memory (\" . (\$freeMem / 1048576) . \"MB free)\ +> . 16MB+ recommended.\")\ +> \n }\ +> \n /container/start [find where interface=veth-awg2vds]\ +> \n :do { /file/remove [find where name=\"console-dump.txt\"] } on-error={\ +> }\ +> \n :put \"Waiting for container to start...\"\ +> \n :delay 5s\ +> \n /interface/wireguard/enable wg-awg2vds\ +> \n :put \"WireGuard interface enabled\"\ +> \n :put \"Installation complete!\"\ +> \n :put \"Ping test: 10.10.10.1 via AmneziaWG tunnel. repeat 10 times\"\ +> \n /ping 10.10.10.1 count=10 interval=1\ +> \n :put \"\"\ +> \n :put \"======= NEXT STEPS =======\"\ +> \n :put \"\"\ +> \n :put \"Route specific traffic through the AmneziaWG tunnel:\"\ +> \n :put \"\"\ +> \n :put \" Route a single host:\"\ +> \n :put \" /ip/route/add dst-address=8.8.8.8/32 gateway=wg-awg2vds com\ +> ment=awg2vds-tunnel\"\ +> \n :put \"\"\ +> \n :put \" Route a subnet:\"\ +> \n :put \" /ip/route/add dst-address=100.0.0.0/8 gateway=wg-awg2vds co\ +> mment=awg2vds-tunnel\"\ +> \n :put \"\"\ +> \n :put \" Remove a route:\"\ +> \n :put \" /ip/route/remove [find where comment=awg2vds-tunnel dst-add\ +> ress=8.8.8.8/32]\"\ +> \n :put \"\"\ +> \n :put \" Show all tunnel routes:\"\ +> \n :put \" /ip/route/print where comment=awg2vds-tunnel\"\ +> \n :put \"\"\ +> \n :put \" Uninstall:\"\ +> \n :put \" /system/script/run awg2vds-uninstall\"\ +> \n :put \"=========================\"\ +> \n}\ +> \n\ +> \n# 7. Verification\ +> \n# /container/print\ +> \n# /interface/wireguard/print\ +> \n# /interface/wireguard/peers/print\ +> \n" +393a652,677 +> /container envs +> add key=AWG_CLIENT_PUB list=awg2vds-env value=\ +> "wKjZCDbLW8snQ4SwLB5zGO+PjvCErnDUSXtogJaZf3Q=" +> add key=AWG_H1 list=awg2vds-env value=1189447486-1189448396 +> add key=AWG_H2 list=awg2vds-env value=538303610-538304276 +> add key=AWG_H3 list=awg2vds-env value=101001960-101002598 +> add key=AWG_H4 list=awg2vds-env value=1783887443-1783887851 +> add key=AWG_I1 list=awg2vds-env value=" 09706a70726f6a65637400000080280004>" +> add key=AWG_I2 list=awg2vds-env value="" +> add key=AWG_I3 list=awg2vds-env value="" +> add key=AWG_I4 list=awg2vds-env value="" +> add key=AWG_I5 list=awg2vds-env value="" +> add key=AWG_JC list=awg2vds-env value=6 +> add key=AWG_JMAX list=awg2vds-env value=481 +> add key=AWG_JMIN list=awg2vds-env value=171 +> add key=AWG_LISTEN list=awg2vds-env value=:51820 +> add key=AWG_PREV_DNS list=awg2vds-env value=89.110.101.17,10.30.30.33,8.8.4.4 +> add key=AWG_PREV_TMPDIR list=awg2vds-env value="" +> add key=AWG_REMOTE list=awg2vds-env value=109.107.177.79:443 +> add key=AWG_S1 list=awg2vds-env value=50 +> add key=AWG_S2 list=awg2vds-env value=139 +> add key=AWG_S3 list=awg2vds-env value=17 +> add key=AWG_S4 list=awg2vds-env value=6 +> add key=AWG_SERVER_PUB list=awg2vds-env value=\ +> "qHFd72XDJJ5UrUZCZ0vRFQmzxP7eUYcOuaGL9ZbHtyg=" +419a704,708 +> /interface wireguard peers +> add allowed-address=10.10.10.1/24,10.30.30.0/24,0.0.0.0/0 endpoint-address=\ +> 172.20.200.70 endpoint-port=51820 interface=wg-awg2vds name=peer4 \ +> persistent-keepalive=10s public-key=\ +> "qHFd72XDJJ5UrUZCZ0vRFQmzxP7eUYcOuaGL9ZbHtyg=" +427a717,719 +> add address=10.10.10.2/24 interface=*D network=10.10.10.0 +> add address=172.20.200.69/30 interface=veth-awg2vds network=172.20.200.68 +> add address=10.10.10.2/24 interface=wg-awg2vds network=10.10.10.0 +479c771 +< set allow-remote-requests=yes servers=10.30.30.33,89.110.101.17 +--- +> set allow-remote-requests=yes servers=10.30.30.33 +1089c1381,1382 +< add comment=awg2vds-dns distance=1 dst-address=10.10.10.1/32 gateway="" +--- +> add comment=awg2vds-dns distance=1 dst-address=10.10.10.1/32 gateway=\ +> wg-awg2vds -- 2.52.0