12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532

Как пробросить TCP и UDP порты на локальный адрес в Ubuntu?

14.07.2022, 14:42. Показов 2361. Ответов 51

Студворк — интернет-сервис помощи студентам
Как пробросить TCP и UDP порты на локальный ip клиента, подключённого к серверу по VPN L2TP?

Что имеется:

- Ubuntu 20.04.4 LTS x64
- VPN-сервер (L2TP)
- SSH доступ
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.07.2022, 14:42
Ответы с готовыми решениями:

Dlink DSL-2640U добавить статический ip адрес и пробросить порты
Добрый день. Подскажите пжлста, как на данном девайсе добавить статический ip адрес 192.168.1.1 для устройства с мак адресом...

Как в клиенте получить локальный IP-адрес TCP-соединения?
Друзья! Кропаю TCP-соединение по книге Криса Касперского "Самоучитель игры на Winsock", так вот, там при установке соединения в...

кто знает ,помог и т е , пробросить порты с wlan0 - на eth0 ., стоит ubuntu
кто знает ,помо г и т е , пробросить порты с wlan0 - на eth0 .., стоит ubuntu , , c wlan0(wi-fi) - приходит интернет .., задача пробросить...

51
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,252
14.07.2022, 17:54
Студворк — интернет-сервис помощи студентам
клиенты, которые будут пользоваться сервисом, тоже будут подключаться по vpn?
0
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
14.07.2022, 17:59  [ТС]
Alli_Lupin, нет, по внешнему ip адресу, а убунту уже должна перенаправить клиента на сервис. Убунта сейчас выполняет роль роутера (ну точнее хочется, чтобы выполняла, а пока что только пытаемся).
0
Эксперт NIX
3305 / 933 / 201
Регистрация: 14.01.2013
Сообщений: 4,776
14.07.2022, 18:19
Цитата Сообщение от Vasek2 Посмотреть сообщение
по внешнему ip адресу, а убунту уже должна перенаправить клиента на сервис
Значит на бубунте надо сделать что-то типа такого:
Bash
1
2
iptables -t nat -A PREROUTING -p tcp -m tcp -d 19.8.232.80 --dport 22 -j DNAT --to-destination 192.168.1.15:22
iptables -t nat -A POSTROUTING -p tcp -m tcp -s 192.168.1.15 --sport 22 -j SNAT --to-source 19.8.232.80:22
И да, включить FORWARD и разрешить его.
1
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,252
14.07.2022, 18:21
И делать это для каждого порта
0
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
14.07.2022, 18:24  [ТС]
Kubuntovod, большое спасибо, видимо, то что нужно. Попробую подставить ip-адреса, надеюсь, не надо будет ребутить убунту))
0
Эксперт NIX
3305 / 933 / 201
Регистрация: 14.01.2013
Сообщений: 4,776
14.07.2022, 18:51
Цитата Сообщение от Alli_Lupin Посмотреть сообщение
И делать это для каждого порта
Так точно.
0
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
14.07.2022, 19:13  [ТС]
Kubuntovod, да, действительно работает, как нужно!

Два вопроса осталось))

Второе правило

iptables -t nat -A POSTROUTING -p tcp -m tcp -s 192.168.1.15 --sport 22 -j SNAT --to-source 19.8.232.80:22

Для чего оно нужно? Всё работает даже с одним первым правилом.



Multiport

Можно ли сделать из правил ниже правила с мультипортом и с внешним интерфейсом (т.е. не ip писать от внешки, а именно eth0)?
iptables -I FORWARD 1 -i eth0 -o eth1 -p tcp -m multiport --dports 4244,5222,5223,5228,5242,50318,59234 -j ACCEPT
iptables -I FORWARD 1 -i eth1 -o eth0 -p tcp -m multiport --dports 4244,5222,5223,5228,5242,50318,59234 -j ACCEPT

Чтобы не для каждого порта прописываться правило, а сразу пачкой.

Что-то вроде этого:
iptables -I FORWARD 1 -i eth0 -d 192.168.42.10 -p tcp -m multiport --dports 33333,33334 -j ACCEPT
iptables -I FORWARD 1 -s 192.168.42.10 -o eth0 -p tcp -m multiport --dports 33333,33334 -j ACCEPT
iptables -I FORWARD 1 -i eth0 -d 192.168.42.10 -p udp -m multiport --dports 27000,27001 -j ACCEPT
iptables -I FORWARD 1 -s 192.168.42.10 -o eth0 -p udp -m multiport --dports 27000,27001 -j ACCEPT

0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,252
14.07.2022, 21:46
можно вообще сделать прозрачный NAT. но тогда секьюрность выйдет из чата, а ваш ноут начнёт майнить. Но не для вас.
0
Эксперт NIX
3305 / 933 / 201
Регистрация: 14.01.2013
Сообщений: 4,776
15.07.2022, 06:15
Цитата Сообщение от Vasek2 Посмотреть сообщение
Для чего оно нужно? Всё работает даже с одним первым правилом.
Правило для исходящих пакетов. Если работает с одним, то и оставляйте одно.

Цитата Сообщение от Vasek2 Посмотреть сообщение
Чтобы не для каждого порта прописываться правило, а сразу пачкой.
Возможно, поможет вот эта статья. Хотя, не так уж и много портов у Вас. Можно было бы прописать и забыть (как это обычно в линухе происходит).
1
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
15.07.2022, 14:49  [ТС]
Alli_Lupin, я находил правила для iptables, которые перенаправят все порты с хоста на ноут. Это по-большому счёту как выключенный фаервол. Про майнинг понимаю, но вряд ли прорвутся через мой фаервол. Но... у меня всё же винда, поэтому всякое возможно
Спасибо вам!

Добавлено через 11 минут
Цитата Сообщение от Kubuntovod Посмотреть сообщение
Правило для исходящих пакетов. Если работает с одним, то и оставляйте одно.
Я когда-то давным давно в винде с этим столкнулся.
Почти во всех моих случаях кроме двух было так: если первым коннект должен сделать сервер куда-то, тогда должен был быть открыт исходящий порт (кроме исключения - DHCP и DNS сервера), а если первый коннект осуществляет клиент (что и происходит почти всегда), то достаточно открыть входящий порт. Видимо это связано с тем, что в момент стука на сервер поддерживается соединение по TCP/UDP портам и исходящие пакеты как бы "логично" должны идти обратно на клиент.
Возможно я где-то не прав, но я не спец в сетях.

Цитата Сообщение от Kubuntovod Посмотреть сообщение
Возможно, поможет вот эта статья. Хотя, не так уж и много портов у Вас. Можно было бы прописать и забыть (как это обычно в линухе происходит).
Ну, портов наберётся 20-30, а то и 40. И потом удалять/добавлять правила в случае чего будет немного муторно. Ведь проще удалить одно правило и добавить одно новое.
Могу попросить вас всё же немного мне помочь с данным вопросом?
Вопрос :)

Можно ли сделать из правил ниже правила с мультипортом и с внешним интерфейсом (т.е. не ip писать от внешки, а именно eth0)?
iptables -I FORWARD 1 -i eth0 -o eth1 -p tcp -m multiport --dports 4244,5222,5223,5228,5242,50318,59234 -j ACCEPT
iptables -I FORWARD 1 -i eth1 -o eth0 -p tcp -m multiport --dports 4244,5222,5223,5228,5242,50318,59234 -j ACCEPT

Чтобы не для каждого порта прописывать правило, а сразу пачкой.

Итог такой примерно желателен.

[TCP порты] С внешнего интерфейса -> на внутренний ip
iptables -I FORWARD 1 -i eth0 -d 192.168.42.10 -p tcp -m multiport --dports 33333,33334 -j ACCEPT

[TCP порты] С внутреннего ip -> на внешний интерфейс
iptables -I FORWARD 1 -s 192.168.42.10 -o eth0 -p tcp -m multiport --dports 33333,33334 -j ACCEPT

[UDP порты] С внешнего интерфейса -> на внутренний ip
iptables -I FORWARD 1 -i eth0 -d 192.168.42.10 -p udp -m multiport --dports 27000,27001 -j ACCEPT

[UDP порты] С внутреннего ip -> на внешний интерфейс
iptables -I FORWARD 1 -s 192.168.42.10 -o eth0 -p udp -m multiport --dports 27000,27001 -j ACCEPT

0
Эксперт NIX
3305 / 933 / 201
Регистрация: 14.01.2013
Сообщений: 4,776
18.07.2022, 06:08
Хз. Не приходилось такие кульбиты исполнять. Как-то так попробуйте:
Bash
1
iptables -t nat -A PREROUTING -i eth0 -p tcp -m multiport --dports 4244,5222,5223,5228,5242,50318,59234 -j DNAT --to-destination 192.168.42.10
Порты только должны совпадать, снаружи и внутри.
0
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
20.07.2022, 02:22  [ТС]
Kubuntovod

сделал так с портами:
Bash
1
-A PREROUTING -i eth0 -p tcp -m multiport --dports 10000:10100 -j DNAT --to-destination 192.168.42.10
Также сделал резервацию ip за клиентом VPN:
Bash
1
2
Файл: /etc/ppp/chap-secrets
"user" l2tpd "password" 192.168.42.10
Большое спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.07.2022, 02:22
Помогаю со студенческими работами здесь

Открыть TCP/UDP порты
Приветствую всех! Есть Ubuntu 16.0.4. На нем разворачиваю площадку "BigBlueButton" (для вебинаров и конференций). В процессе установки...

Может ли Microsoft Forefront Threat Management Gateway защищать от флуда на TCP и UDP порты ?
Может ли он: 1. Защищать от флуда на TCP порты. 2. Защищать от флуда на UDP порты.

как пробросить порты
у меня d-link 2500 u, хочу пробросить порт для торрента, везде пишут одно и тоже : "Пункт "Advanced" -> Пункт "Virtual...

Как пробросить порты в win
Помогите разобраться с настройками пробросов портов. Надо зацепляться с рабочего ноута, к Arduino в домашней сети по определённому порту...

Как пробросить порты на Raspberry PI?
Подскажите, есть роутер, далее по WiFi к нему подключено Raspberry Pi (установлен Debian), на ней установлен Transmission и доступен в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
52
Ответ Создать тему
Опции темы

Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru