Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    [ROS7] Как получить публичный IP (типа того)

    [ROS7] Как получить публичный IP (типа того)

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [ROS7] Как получить публичный IP (типа того), RouterOS
     
    erkexzcx
    Guest
    #1
    0
    20.02.2022 08:03:00
    Кратко: Возьмите облачную виртуальную машину с публичным IP, запустите на ней WireGuard сервер, подключитесь к нему с Mikrotik роутера, пробросьте все порты с ВМ на Mikrotik через туннель WireGuard.

    Дополнительные заметки: Провайдер Linode предлагает самый дешевый инстанс за 5$/месяц с 4 ТБ исходящего трафика в месяц. Входящий трафик не считается (бесплатно). ip/cloud с назначенным DDNS больше не работает. Рекомендуется использовать свой собственный домен или бесплатный DDNS, например duckdns.org. При использовании описанного метода нельзя будет использовать порты 22/tcp и 51820/udp (но их можно изменить).

    Сценарий использования: Ваш провайдер (то есть любой, кто пользуется мобильным интернетом) не даёт публичный IP, и поэтому ничего нельзя хостить в домашней сети. В моём случае у меня был Homeassistant сервер дома, и я хотел, чтобы телефон отправлял туда своё местоположение, но без прямого подключения это было невозможно.

    Решение – мне нужно прямое подключение из интернета к роутеру, который пробрасывает порты на мой сервер.

    Инструкция: Зайдите на linode.com и закажите самый дешевый инстанс (shared CPU, 1 ядро, 1 ГБ RAM, 5$/месяц) с последним Rocky Linux. На момент написания я использовал Rocky Linux 8.

    Подключитесь к инстансу по SSH под root и выполните следующие команды, просто скопировав их в терминал:  

    # Обновляем систему  
    dnf update -y --refresh  

    # Устанавливаем дополнительные репозитории  
    dnf install -y elrepo-release epel-release  

    # Устанавливаем инструменты wireguard  
    dnf install -y kmod-wireguard wireguard-tools  

    # Отключаем firewalld  
    systemctl disable --now firewalld.service  

    # Включаем IP форвардинг  
    sysctl -w net.ipv4.ip_forward=1  
    sysctl -w net.ipv6.conf.all.forwarding=1  
    sysctl -a | grep all.forwarding > /etc/sysctl.conf  

    # Генерируем ключи wireguard  
    cd /etc/wireguard && wg genkey | (umask 0077 && tee server.key) | wg pubkey > server.pub  
    cd /etc/wireguard && wg genkey | (umask 0077 && tee client.key) | wg pubkey > client.pub  

    # Создаем конфиг сервера wireguard /etc/wireguard/wg0.conf  
    cat <<EOT > /etc/wireguard/wg0.conf  
    [Interface]
    Address = 10.200.200.1/24  
    ListenPort = 51820  
    PrivateKey = $(</etc/wireguard/server.key)  

    PostUp = iptables -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT; iptables -t nat -A PREROUTING -p udp --dport 51820 -j ACCEPT; iptables -t nat -A PREROUTING -j DNAT --to-destination 10.200.200.2; iptables -t nat -A POSTROUTING -j MASQUERADE  
    PostDown = iptables -t nat -D PREROUTING -p tcp --dport 22 -j ACCEPT; iptables -t nat -D PREROUTING -p udp --dport 51820 -j ACCEPT; iptables -t nat -D PREROUTING -j DNAT --to-destination 10.200.200.2; iptables -t nat -D POSTROUTING -j MASQUERADE  

    # Mikrotik router  
    [Peer]
    PublicKey = $(</etc/wireguard/client.pub)  
    AllowedIPs = 10.200.200.2/32  
    EOT  

    # Создаем список команд для Mikrotik, выполнив следующую команду:  
    cat <<EOT > /etc/wireguard/mikrotik_commands.txt  
    # Создаем интерфейс wireguard  
    /interface wireguard add listen-port=13235 mtu=1420 name=wg99 private-key="$(</etc/wireguard/client.key)"  

    # Подключаемся к wireguard серверу  
    /interface wireguard peers add allowed-address=10.200.200.0/24 endpoint-address=$(curl -sL https://ipv4.wtfismyip.com/text) endpoint-port=51820 interface=wg99 persistent-keepalive=25s public-key="$(</etc/wireguard/server.pub)"  

    # Назначаем IP интерфейсу wireguard  
    /ip address add address=10.200.200.2/24 interface=wg99 network=10.200.200.0  

    # Исключаем такой трафик из fasttrack/разрешаем в firewall  
    /ip firewall filter add action=accept chain=forward in-interface=wg99 place-before=[find where action=fasttrack-connection]
    /ip firewall filter add action=accept chain=forward out-interface=wg99 place-before=[find where action=fasttrack-connection]
    EOT  

    # Включаем wireguard сервер при загрузке  
    systemctl enable wg-quick@wg0.service  

    # Перезагружаем систему  
    reboot  

    Как видите, последняя команда перезагрузит инстанс. Подключитесь к нему снова и выведите содержимое файла /etc/wireguard/mikrotik_commands.txt:  
    cat /etc/wireguard/mikrotik_commands.txt  

    В этом файле находятся все сгенерированные команды, которые нужно скопировать и сразу вставить в терминал Mikrotik и выполнить. После этого у вас должно быть подключение с публичного IP инстанса Linode. Попробуйте пробросить порт в роутере Mikrotik и проверить порт на IP инстанса Linode – он должен возвращать то, что настроено на вашем роутере. Учтите, что трафик идет через интерфейс wg99 с IP 10.200.200.1, так что возможно придется подкорректировать правила проброса портов.
     
     
     
    anav
    Guest
    #2
    0
    06.03.2022 19:25:00
    Не все устройства имеют доступ к Zerotier.
     
     
     
    aliboy
    Guest
    #3
    0
    09.03.2022 07:06:00
    Спасибо. Это полезно. Я просто не знаю, как сделать последний шаг. Допустим, у меня стоит стандартная конфигурация на роутере Mikrotik (192.168.88.1 как адрес LAN), и я следовал инструкциям по настройке Wireguard и пирингов на Mikrotik. Если нужно сделать проброс портов на Mikrotik, нужно ли это делать через Firewall? В общем: chain = dstnat, Dst. Address =, Action: action = dst-nat, To Addresses = 192.168.88.1
     
     
     
    Hominidae
    Guest
    #4
    0
    09.03.2022 07:28:00
    Твое решение тоже не бесплатно. …год работы твоего Linode VPS стоит столько же, сколько мой VPS (год) плюс однократная лицензия P1 CHR… по крайней мере, согласно моей таблице, просто к слову.
     
     
     
    aliboy
    Guest
    #5
    0
    10.03.2022 22:19:00
    Как настроить проброс портов на маршрутизаторе Mikrotik? Порты больше не указываются, потому что проброс будет на все порты, так правильно? В общем: цепочка = dstnat Адрес назначения = Действие: action = dst-nat На адрес = 192.168.88.1
     
     
     
    Hominidae
    Guest
    #6
    0
    11.03.2022 15:32:00
    …в этой конфигурации нет необходимости в пробросе портов на маршрутизаторе MT. Маршрутизатор MT подключится к VPS через настройку wg endpoint в пирах VPS, тем самым обходя ограничение CGNAT на локальном WAN-интерфейсе MT. После установления туннеля соединение будет полностью двунаправленным, даже если открыть его только с одной стороны.

    Думаю, под «правилами переадресации» имелось в виду «настроить правила в цепочке forward», поскольку трафик через wg-интерфейс будет маршрутизироваться через сеть 10.200.200.0/24 и IP-адреса, прикреплённые к wg-интерфейсу.

    Если у вашего локального MT стандартная настройка фаервола, например, такая: https://help.mikrotik.com/docs/display/ROS/Building+Advanced+Firewall — просто добавьте wg-интерфейс в список интерфейсов LAN на MT:  
    /interface list member add interface=wg99 list=LAN
     
     
     
    aliboy
    Guest
    #7
    0
    12.03.2022 22:25:00
    Спасибо, Hominidae! Мне удалось добавить интерфейс wg в список LAN (и WAN). Работает и тот, и другой вариант, я не до конца понимаю разницу, но пока что интерфейс в списке LAN. VPS показывает, что пир подключён. Пир — это мой роутер Mikrotik. Теперь я могу пинговать 10.200.200.2 с VPS и 10.200.200.1 с любого устройства в моей локальной сети. Мне удалось настроить проброс портов на Mikrotik, чтобы перенаправлять весь TCP и UDP трафик на локальный сервер с IP 192.168.88.50. Проброс работает, проверял. Я не эксперт в сетях, но, как я понимаю, схема теперь такая: любой публичный IP > публичный IP VPS > мой Mikrotik > локальный сервер. Локальный сервер всё ещё выходит в интернет, но использует публичный IP моей мобильной сети, которая находится в CGNAT. Я хотел бы, чтобы локальный сервер выходил в интернет через сеть 10.200.200.1, чтобы при проверке публичного IP показывался IP VPS. Это возможно или такая настройка ограничена в таком варианте? Пока что сделано следующее, но локальный сервер не выходит в интернет, хотя проброс портов работает:

    Таблица: Создал таблицу под названием «wg».  
    Firewall > Mangle: создал маркёр с «Src Address List» = LocalServerName (IP указан в Address List), при этом стоит «Mark Routing» и используется таблица маршрутизации «wg».  
    Route List: Gateway:10.200.200.1 и «Routing Table» = wg.
     
     
     
    Hominidae
    Guest
    #8
    0
    13.03.2022 00:03:00
    Хорошо, теперь я понял. Значит, входящий трафик с VPS в вашу локальную сеть работает. А вот не работает то, что локальная машина не использует VPS как шлюз. Вот как я это делаю (делаю так, чтобы моя VOIP-PBX использовала VPS как постоянный WAN IP/шлюз, независимо от реальных IP моих локальных и нескольких WAN-интерфейсов):

    - Создаю/заведу локальный IP на VPS (у меня VPS с MT CHR; я создал мост и добавил адрес/IP 192.168.255.254/32 к нему).
    - Убедитесь, что на VPS есть валидный маршрут по умолчанию и настроен исходящий NAT (если с локального интерфейса сделать ping на 192.168.255.254 на VPS, он использует собственный WAN-интерфейс, и исходящий интернет работает).
    - На локальном MT создаю маршрут до VPS-IP с шлюзом — это удалённый IP/VPS-сторона wg-интерфейса (так вы сможете пинговать IP VPS из локальной сети через wg-туннель).
    - На локальном MT создаю два списка адресов:
      1. Все IP локальных хостов, которые должны использовать VPS как WAN-шлюз.
      2. Все IP, которые не должны маршрутизироваться через VPS, то есть все ваши локальные сети.
    - На локальном MT создаю правило mangle в фаерволе: chain=prerouting, src-address-list = список №1, dst-address-list != список №2, action route, route-dst=192.168.255.254 (локальный IP VPS).

    P.S. Обратите внимание, что для dst-list нужно указать не «равно», а «не входит в» список №2.

    У меня так отлично работает!
     
     
     
    aliboy
    Guest
    #9
    0
    19.03.2022 08:09:00
    Привет, Hominidae! Мне удалось настроить Mikrotik CHR. Там стоит только стандартная конфигурация. Я понимаю это так: Mikrotik CHR (публичный IP) <------туннель wireguard------> мой локальный Mikrotik (CGNAT). При настройке wireguard на локальном Mikrotik я указал публичный IP Mikrotik CHR как endpoint peer. А что насчёт Mikrotik CHR, какой endpoint IP там нужно указать? Спасибо!
     
     
     
    aliboy
    Guest
    #10
    0
    20.03.2022 10:54:00
    Мне нужно покупать лицензию CHR или бесплатной версии достаточно?
     
     
     
    Hominidae
    Guest
    #11
    0
    20.03.2022 16:02:00
    …не нужно. Локальный MT будет использовать конфигурацию эндпоинта, чтобы инициировать туннель к CHR. Поскольку он находится за CGNAT, CHR всё равно не сможет до него добраться или подключиться. Как только туннель будет установлен, он будет двунаправленным. Следи за настройкой persistent keepalive в wg-peer — она должна быть меньше таймаута подключения в фаерволе, чтобы не дать conntrack сработать и удалить соединение из таблицы NAT/conntrack. Насколько помню, мой таймаут conntrack для UDP-соединений установлен на 2 минуты… у меня keepalive настроен примерно на 22–25 секунд. Для теста этого будет достаточно. Но бесплатная лицензия ограничена 1 Мбит/с. Насколько помню, при активации тестовой лицензии (P1 = 1Гбит) она действует 30 дней, а потом откатывается к бесплатной (1 Мбит). Так что у тебя есть время на тестирование и оценку. Лицензия CHR никогда не пропадает — она привязана только к одной инстанции одновременно. Можно удалить текущую установку, сделать новую, а потом перенести лицензию. И не забудь нормально защитить свой CHR!
     
     
     
    aliboy
    Guest
    #12
    0
    22.03.2022 19:01:00
    Привет, Hominidae! Я всё ещё стараюсь изо всех сил достичь своей цели, используя метод, который ты рекомендовал — с помощью CHR. У меня вопрос по поводу оригинального поста от «erkexzcx». Если его метод действительно работает, значит, я не ограничен скоростью всего в 1 Мбит/с, правильно? Спасибо!
     
     
     
    Hominidae
    Guest
    #13
    0
    22.03.2022 21:58:00
    Я не призываю использовать CHR, это просто то, что я сам применяю. Конечно, вы можете сделать то же самое на любом VPS с Linux, где установлены iptables и wireguard. Но если у вас уже есть MT и вы в нём разбираетесь, зачем тогда вводить ещё одну систему? Лицензия P1 стоит совсем недорого, правда? У меня есть пара таких, которые я покупал за 25–35 долларов за всё время… и, если честно, это того стоит.
     
     
     
    aliboy
    Guest
    #14
    0
    04.04.2022 03:15:00
    Думаю, я следовал рекомендованным настройкам, основанным на другом посте на форуме, но всё равно не работает. Как только я включаю правило маршрутизации, устройство перестаёт выходить в интернет. Моя цель — использовать wireguard в качестве шлюза, чтобы публичный IP-адрес устройства 192.168.88.253 стал 172.104.48.54. Пинг с VPS на 10.200.200.2 проходит успешно. Пинг роутера Mikrotik (и любых устройств, подключённых к Mikrotik) на 10.200.200.1 тоже успешен. Вот текущая конфигурация на VPS:  
    [Interface]
    Address = 10.200.200.1/24  
    ListenPort = 51820  
    PrivateKey = SPOZPusRrSlt+Tm3clLD164drtkcTtWRbZrI/E+oJFQ=  
    PostUp = iptables -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT; iptables -t nat -A PREROUTING -p udp --dport 51820 -j ACCEPT; iptables -t nat -A PREROUTING -j DNAT --to-destination 10.200.200.2; iptables -t nat -A POSTROUTING -j MASQUERADE  
    PostDown = iptables -t nat -D PREROUTING -p tcp --dport 22 -j ACCEPT; iptables -t nat -D PREROUTING -p udp --dport 51820 -j ACCEPT; iptables -t nat -D PREROUTING -j DNAT --to-destination 10.200.200.2; iptables -t nat -D POSTROUTING -j MASQUERADE  

    Роутер Mikrotik:  
    [Peer]
    PublicKey = H1ENrFj2o7A2+BZUgDee2+N0qQRvxpTUML2mQs9agjU=  
    AllowedIPs = 10.200.200.2/32, 192.168.88.0/24  

    export.rsc (8.27 KB)
     
     
     
    anav
    Guest
    #15
    0
    04.04.2022 12:12:00
    Это инструкция, как получить публичный IP. Если у вас проблема с Wireguard, создайте НОВУЮ ТЕМУ…
     
     
     
    Sob
    Guest
    #16
    0
    04.04.2022 14:09:00
    @aliboy: У тебя стоит allowed-address=10.200.200.0/24, значит пропускаться будет только этот диапазон. Если хочешь пропускать трафик из интернета, нужно указать 0.0.0.0/0.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры