- Как перенаправить порт через брандмауэр в Ubuntu
- Перенаправление портов в Ubuntu — графический интерфейс
- Настройка проброса портов в GUFW
- Перенаправление портов в Ubuntu — интерфейс командной строки
- Записки IT специалиста
- Ubuntu Server. Настраиваем форвардинг портов на роутере.
- Проброс портов в Linux
- Что такое проброс портов в Linux
- Как сделать проброс портов в Ubuntu
- С помощью маршрутизатора
- С помощью установки Hamachi в Ubuntu
- С помощью Squid
- С помощью Iptables
- Распространенные ошибки
- Заключение
Как перенаправить порт через брандмауэр в Ubuntu
Вы используете брандмауэр Ubuntu и вам нужно открыть порты для выхода в Интернет в вашей системе? Мы можем помочь! Следуйте этому руководству, поскольку мы рассмотрим способы переноса на Ubuntu!
Примечание: хотя это руководство ориентировано на Ubuntu, оно также будет работать с любой ОС Linux на основе Ubuntu, поскольку у них также есть доступ к тому же брандмауэру.
Перенаправление портов в Ubuntu — графический интерфейс
Самый простой способ перенаправить порт через брандмауэр в Ubuntu — использовать графический интерфейс. Графический интерфейс брандмауэра Ubuntu действует как посредник для командной строки. По сути, это дает приятный интерфейс для приложения командной строки.
Чтобы взаимодействовать с брандмауэром Ubuntu через графический интерфейс, вам необходимо установить приложение GUFW в вашей системе, если вы еще этого не сделали. Чтобы установить GUFW на свой компьютер с Ubuntu, начните с открытия окна терминала.
Вы можете открыть окно терминала, нажав Ctrl + Alt + T на клавиатуре. Или, в качестве альтернативы, вы можете найти «Терминал» в меню приложения Ubuntu. Когда окно терминала открыто и готово к использованию, используйте команду apt install, чтобы получить GUFW.
Если вам не нравится использовать терминал для установки приложений, не волнуйтесь! Вы можете установить его с помощью программного обеспечения Ubuntu. Для начала откройте приложение «Ubuntu Software». Когда он откроется, найдите значок поиска и щелкните по нему мышью.
В поле поиска введите «GUFW» и нажмите клавишу Enter . Нажав Enter , вам будут представлены результаты поиска. Просмотрите результаты для «Конфигурация брандмауэра» и щелкните по нему.
Нажав на «Конфигурация брандмауэра», вы перейдете на страницу приложения Ubuntu Software. Нажмите кнопку «УСТАНОВИТЬ», чтобы загрузить и установить программное обеспечение на свой компьютер.
Настройка проброса портов в GUFW
Теперь, когда приложение GUFW установлено на вашем ПК с Ubuntu, вы можете использовать его для перенаправления портов за пределы брандмауэра. Для этого следуйте пошаговым инструкциям ниже.
Шаг 1. Откройте GUFW, выполнив поиск «Конфигурация брандмауэра» в меню приложения Ubuntu. Когда он откроется, найдите ползунок «Статус». Щелкните его, чтобы включить защиту, если она еще не включена.
Шаг 2: Найдите кнопку «Правила» в GUFW и щелкните по ней, чтобы получить доступ к области правил. Отсюда выберите значок «+». Щелкнув этот значок, вы откроете окно «Добавить правило брандмауэра».
Шаг 3: В новом окне правила найдите вкладку «Простое» и щелкните по ней. На вкладке найдите «Направление» и измените его на «Выход». Установив его на «out», вы разрешаете Ubuntu «переадресовывать» в Интернет.
Шаг 4: Найдите поле «Порт» и щелкните по нему мышью. Оттуда найдите поле «Порт или служба» и введите порт. Когда вы закончите записывать номер порта, нажмите кнопку «Добавить», чтобы добавить новое правило.
После того, как вы добавите номер порта, брандмауэр должен немедленно пропустить его. Однако, если это не происходит мгновенно, не стесняйтесь перезагрузить компьютер, чтобы решить проблему.
Перенаправление портов в Ubuntu — интерфейс командной строки
В дополнение к перенаправлению портов с помощью графического интерфейса пользователя также можно перенаправить порт в брандмауэре Ubuntu с помощью интерфейса командной строки (также известного как терминал). Для этого сначала убедитесь, что в вашей системе включен брандмауэр UFW.
Чтобы убедиться, что у вас включен брандмауэр UFW, откройте окно терминала. Вы можете открыть окно терминала, нажав Ctrl + Alt + T на клавиатуре или выполнив поиск «терминал» в меню приложения.
В открытом окне терминала используйте команду sudo ufw enable, чтобы включить брандмауэр, если он по какой-то причине отключен. Если ваш UFW уже включен, не беспокойтесь. Вы можете пропустить этот шаг.
Убедившись, что межсетевой экран UFW работает, используйте команду ufw allow для переадресации портов. Например, если вы размещаете сервер OpenSSH на своем ПК с Ubuntu, вам нужно будет открыть порт 22 для Интернета. Для этого вы можете ввести команду ниже.
Или, если вам нужно разрешить подключения через порт 32400 к Интернету через UDP, вы можете вместо этого выполнить следующую команду.
После того, как вы добавили свои порты в брандмауэр Ubuntu, вы можете проверить его статус, чтобы увидеть , выполняются ли введенные вами разрешающие команды с помощью команды ufw status.
Предположим, у вас возникли проблемы с переадресацией портов в Ubuntu, а команды ufw allow не работают. В этом случае вы можете полностью отключить брандмауэр, открыв доступ ко всем портам в Интернет с помощью команды ufw disable .
Источник
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- Ubuntu Server. Настраиваем форвардинг портов на роутере.
Ubuntu Server. Настраиваем форвардинг портов на роутере.
Одной из наиболее частых задач для системного администратора является предоставление доступа к ресурсам локальной сети для удаленных пользователей. Сделать этом можно разными способами, один из них — форвардинг портов. Суть этого метода в том, что клиент обращается к определенному порту шлюза, который в свою очередь перенаправляет запрос к порту локального ПК.
По сути форвардинг (перенаправление, проброс на жаргоне) портов дает возможность вынести определенные сервисы локальной сети в интернет. Это дает возможность держать почтовые (Web, FTP и т.п.) сервера в более безопасной зоне локальной сети (а лучше в DMZ).
При этом следует осознавать потенциальную опасность подобного способа по сравнению с VPN или DirectAccess доступом, в данном случае ваши сервисы будут доступны всем желающим и стоит уделить особое внимание безопасности подобного решения.
В качестве примера рассмотрим организацию доступа к терминальному серверу в локальной сети через интернет, используя в качестве шлюза роутер на базе Ubuntu Server, настройка которого описана здесь. В нашей тестовой лаборатории была собрана следующая схема:
В данном случае у нас имеется локальная сеть 10.0.0.0/24 в которой присутствует сервер терминалов по адресу 10.0.0.2, роутер с внутренним адресом 10.0.0.1 и внешним 192.168.64.134 (данный адрес взят нами для примера, в реальности здесь должен быть белый IP адрес) и ноутбук во внешней сети, который должен получить доступ к серверу терминалов.
Наиболее очевидным способом для многих будет форвардинг портов при помощи iptables, однако, прежде чем рубить с плеча, вспомним, каким образом работает iptables. Данный момент очень важен и предупреждает ситуации: «я все сделал как написано, но не работает». Правила (цепочки) iptables обрабатываются последовательно, в порядке их перечисления в файле /etc/nat. Допустим у нас там записано три правила:
Пришедший пакет анализируется и если он удовлетворяет условиям Правила 1, то к нему применяется указанное в правиле действие, иначе переходим к Правилу 2 и т.д. Очевидно, что если мы укажем в Правиле 1 общее правило для всего приходящего трафика, а в Правилах 2 и 3 частные ситуации, то эти правила работать не будут, т.к. более общее Правило 1 стоит раньше. Поэтому сначала требуется описать более частные случаи, затем более общие и следить за тем, чтобы вышестоящие правила не перекрывали нежестоящие.
Итак, приступим. Для выполнения нашего условия (перенаправление порта 3389 во внутреннюю сеть) добавим в файл /etc/nat после секции «# Включаем NAT «, но до секции «# Запрещаем доступ снаружи во внутреннюю сеть» следующие строки:
Это правило разрешает прохождение входящих пакетов на порт 3389 внутрь сети. Теперь опишем форвардинг:
Первая строка подменяет адрес приемника на внутренний ip, а вторая адрес отправителя на внешний. Сохраняем файл, перезагружаем сервер:
Проверяем, все должно работать:
Как видим, ничего сложного. Главное — понимание того, что вы делаете. Не тупое повторение скопированных команд, а знание того, что вы делаете, зачем и почему именно таким образом. Успехов!
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Источник
Проброс портов в Linux
Система Убунту является самой оптимальной ОС для работы не только крупных производств, но и частных отдельных лиц. Однако если с одного гаджета работает несколько человек, это может стать причиной многих проблем, связанных с работой Линукс. Для решения этой проблемы есть такое явление, как проброс портов в Ubuntu. Этот процесс имеет свои преимущества и недостатки. Также для него характерны некоторые специфические нюансы и методики решения проблем у новичков в области IT-технологии.
Что такое проброс портов в Linux
Сначала нужно разобраться в сути явления проброса портов Linux. Эта техника необходима в том случае, когда запрашивающих портов гораздо больше, чем места на искомом устройстве. В этом случае для связи пользователя и сервиса нужна особая связь через «посредника».
В целом проброс портов debain или иными словами, настройка rinetd, осуществляется с помощью общей программы NAT.
Работа передачи данных достаточно проста и понятна: компьютер или ноутбук имеет свой уникальный адрес. Когда с помощью него нужно передать какие-то программы или документы, идет запрос к роутеру, а тот меняет адрес компьютера на уникальный адрес сервера. Таким образом, устанавливается связь пользователя с сервером. Обратный ответ получается аналогично через роутер. Чтобы можно было устанавливать свои адреса для роутера, было создано перенаправление портов Ubuntu.
Ubuntu port forwarding имеет несколько этапов работы:
- Переадресация трафика на ядерном уровне. Это происходит с помощью выражения echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward . Чтобы это состояние и возможные изменения смогли сохраниться после перезагрузки оборудования, нужно ввести команду sudo sysctl –w net.ipvip_forward=1.
- Настройка прохождения пакетов. Чтобы новые пакеты беспрепятственно приходили на определенный порт, следует ввести выражение sudo iptables — A FORWARD -i eth0 -o eth1 -p tcp —syn —dport 80 -m conntrack —ctstate NEW -j ACCEP T . Для разрешения прохода другого трафика нужно ввести команду sudo iptables -A FORWARD -i eth0 -o eth1 -m conntrack —ctstate ESTABLISHED,RELATED -j ACCEPT . Чтобы процесс хорошо проходил в обоих направлениях, нужно ввести запись $ sudo iptables -A FORWARD -i eth1 -o eth0 -m conntrack —ctstate ESTABLISHED,RELATED -j ACCEPT . По умолчанию поставить режим DROP: sudo iptables -P FORWARD DROP .
- Модификация пакетов. В этом случае создаются определенные правила работы системы с пакетами. Чтобы осуществлялось перенаправление документов только на один порт, нужна команда: sudo iptables -t nat -A PREROUTING -i eth0 -p tcp —dport 80 -j DNAT —to-destination168.1.2 . Можно настроить получение пакетов на маршрутизатор: sudo iptables -t nat -A POSTROUTING -o eth1 -p tcp —dport 80 -d 192.168.1.2 -j SNAT —to-source 192.168.1.1 . Для установки еще одного порта: sudo iptables -t nat -A POSTROUTING -o eth1 -p tcp —dport 80 -d 192.168.1.2 -j SNAT —to-source 192.168.1.1:8080 . Для указания возможного диапазона: sudo iptables -t nat -A POSTROUTING -o eth1 -p tcp —dport 1000:2000 -d 192.168.1.2 -j SNAT —to-source 192.168.1.1
- Сохранение настроек. Это делается просто, одной записью: sudo service iptables-persistent save .
Технология Ubuntu port forwarding достаточна проста.
Как сделать проброс портов в Ubuntu
Проброс портов в Ubuntu server может происходить разными путями. Причем у каждого метода есть своя специфическая методика.
С помощью маршрутизатора
Пусть есть конкретная ситуация:
$EXT_IP – внешний, реальный IP-адрес шлюза
$INT_IP – внутренний IP-адрес шлюза, в локальной сети
$LAN_IP – внутренний IP-адрес сервера, предоставляющего службы внешнему миру
$SRV_PORT – порт службы. Для веб-сервера равен 80, для SMTP – 25 и т. д.
eth0- внешний интерфейс шлюза. Именно ему присвоен сетевой адрес $EXT_IP
eth1 – внутренний интерфейс шлюза, с адресом $INT_IP
А для облегчения понимания, в таких блоках рассмотрены конкретные ситуации:
1.2.3.4 – внешний адрес шлюза
192.168.0.1 – внутренний адрес шлюза
В локальной сети работает веб-сервер (порт 80) для сайта webname.dom
192.168.0.22 – внутренний адрес веб-сервера
Тогда методика проведения проброса портов будет выглядеть следующим образом:
- Маршрутизация: установка параметров маршрутизатора iptables -t nat -A PREROUTING —dst2.3.4 -p tcp —dport 80 -j DNAT —to-destination 192.168.0.22 и установка процесса iptables -I FORWARD 1 -i eth0 -o eth1 -d 192.168.0.22 -p tcp -m tcp —dport 80 -j ACCEPT .
- Для разрешения доступа других пользователей с другими адресами: iptables -t nat -A POSTROUTING —dst168.0.22 -p tcp —dport 80 -j SNAT —to-source 192.168.0.1.
- Для предотвращения переадресации к маршрутизатору: iptables -t nat -A OUTPUT —dst2.3.4 -p tcp —dport 80 -j DNAT —to-destination 192.168.0.22.
Для автоматического запуска изучаемого процесса можно создать скрипт.
И дальнейшее обращение к пробросу будет выполняться пользователем записью в командной строке: ./script.sh 192.168.0.56 20,21.
С помощью установки Hamachi в Ubuntu
Технология немного отличается от предыдущего варианта:
- Скачивание, загрузка и «сборка» необходимого пакета программы: wgethttps: //secure.logmein.com/labs/logmein-hamachi_2.1.0.119-1_amd64.deb; sudo apt-get install lsb; dpkg -i logmein-hamachi_2.1.0.119-1_amd64.deb.
- Запуск программы, наименование гаджета и подключение к сети: service logmein-hamachi start hamachi login; hamachi set-nick $NAME; hamachi join $NAME_NETWORK.
- Выбор необходимой сети: hamachi list.
- Далее следует изменить настройки: sudo apt-get install rinetd; nano /etc/rinetd.conf; IP_in port_in IP_out port_out.
- Перезапустить службу: service rinetd restart.
- Выключить менеджер задач: sudo ufw disable.
Осталось только перезагрузить систему.
С помощью Squid
Он используется для контроля слишком большого трафика.
Алгоритм также прост:
- Установка: sudo apt-get install squid3.
- Настройка: /etc/squid/squid.conf.
Затем действия идут такие же, как и в предыдущем варианте.
С помощью Iptables
Такая программа аналогична первому варианту. Собственно алгоритм будет такой же:
- Маршрутизация: установка параметров маршрутизатора iptables -t nat -A PREROUTING —dst2.3.4 -p tcp —dport 80 -j DNAT —to-destination 192.168.0.22 и установка процесса iptables -I FORWARD 1 -i eth0 -o eth1 -d 192.168.0.22 -p tcp -m tcp —dport 80 -j ACCEPT.
- Для разрешения доступа других пользователей с другими адресами: iptables -t nat -A POSTROUTING —dst168.0.22 -p tcp —dport 80 -j SNAT —to-source 192.168.0.1.
- Для предотвращения переадресации к маршрутизатору: iptables -t nat -A OUTPUT —dst2.3.4 -p tcp —dport 80 -j DNAT —to-destination 192.168.0.22.
Для автоматического запуска изучаемого процесса можно создать скрипт.
И дальнейшее обращение к пробросу будет делаться пользователем записью в командной строке: ./script.sh 192.168.0.56 20,21.
Распространенные ошибки
Самая важная проблема и часто возникающая ошибка у начинающих пользователей – открытые порты. Они являются гарантом небезопасного нахождения в виртуальном пространстве. Для решения этой проблемы существуют различные программные обеспечения.
Заключение
Проброс портов в Ubuntu – очень важный процесс в комфортной работе с различными данными компьютера. Однако надо точно выполнять различные методики, иначе могут трудноразрешимые проблемы.
Источник