Открыть порт Linux и посмотреть открытые средствами самой системы
В ОС Linux понятие открытие порта немного звучит некорректно. Можно, конечно закрыть сначала все соединения и потом открыть порт Linux, который необходим.
Но это задача для опытных пользователей. Операционная система и установленные программы используют множество портов для своей работы, обновлений и т.д. При таком подходе можно просто заработать много проблем.
Сначала нужно посмотреть открытые порты Linux в системе. Для этого можно воспользоваться утилитой netstat. В большинстве популярных дистрибутивов Linux она установлена по умолчанию, если нет, то ее следует установить.
После установки достаточно ввести в консоль команду
и в выводе можно увидеть все открытые порты, ip адреса и имена процессов, которым принадлежат соединения.
Файрволл iptables есть во всех дистрибутивах Linux, его правила одинаковы везде, будь то Ubuntu, Gentoo или Fedora, а вот настройка и запуск различны. Но есть один универсальный способ. Профессионалы вряд ли его применят, но для простых пользователей самое то.
Для проверки, установлен ли iptables в системе следует выполнить в консоли команду
результатом ее выполнения будет вывод информации об отсутствии этой команды в системе или текущих настроек программы.
Оптимально будет закрыть все порты, открыть нужные системе, а потом, добавляя правила, открыть порты Linux нужные для игр, передачи файлов, web-серфинга.
Для этого, убедившись, что iptables установлен, создаем с правами суперпользователя файл /etc/iptables.sh с таким содержимым
Необходимо пояснить синтаксис:
Сохраняем файл, закрываем, делаем его исполняемым командой в консоли
и помещаем его команду для запуска в файл /etc/rc.local до строчки exit 0.
Запускаем файл — sh /etc/iptables.sh, проверяем netstat открытые порты, если надо закрыть какой-либо порт, добавляем еще строчку в файл и снова запускаем программу.
Все действия по созданию, запуску и изменению файлов для того чтобы открыть порт Linux нужно выполнять с правами суперпользователя.
Но это задача для опытных пользователей. Операционная система и установленные программы используют множество портов для своей работы, обновлений и т.д. При таком подходе можно просто заработать много проблем.
Сначала нужно посмотреть открытые порты Linux в системе. Для этого можно воспользоваться утилитой netstat. В большинстве популярных дистрибутивов Linux она установлена по умолчанию, если нет, то ее следует установить.
После установки достаточно ввести в консоль команду
netstat -ltupn
и в выводе можно увидеть все открытые порты, ip адреса и имена процессов, которым принадлежат соединения.
Файрволл iptables есть во всех дистрибутивах Linux, его правила одинаковы везде, будь то Ubuntu, Gentoo или Fedora, а вот настройка и запуск различны. Но есть один универсальный способ. Профессионалы вряд ли его применят, но для простых пользователей самое то.
Открыть порт Linux средствами самой системы
Для проверки, установлен ли iptables в системе следует выполнить в консоли команду
iptables -list
результатом ее выполнения будет вывод информации об отсутствии этой команды в системе или текущих настроек программы.
Оптимально будет закрыть все порты, открыть нужные системе, а потом, добавляя правила, открыть порты Linux нужные для игр, передачи файлов, web-серфинга.
Для этого, убедившись, что iptables установлен, создаем с правами суперпользователя файл /etc/iptables.sh с таким содержимым
#!/bin/bash
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# закрываем все соединения
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# разрешаем трафик loopback, нужен обязательно
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# разрешаем инициированные программами, системой и их дочерние соединения.
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
#отбрасываем все пакеты без статуса.
## далее команды чтобы открыть порт Linux:
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 80 -j ACCEPT
# открываем порты для посещения сайтов
iptables -A INPUT -i eth0 -p tcp --dport «номер нужного входящего порта» -j ACCEPT
iptables -A OUTPUT -i eth0 -p tcp --dport «номер нужного исходящего порта» -j ACCEPT
# добавляем еще, которые нам нужны, в список открытых портов Linux
Разбор синтаксиса при открытии портов Linux
Необходимо пояснить синтаксис:
- ACCEPT — разрешающие соединения
- DROP — запрещающие
- OUTPUT и INPUT — входящие и исходящие
- eth0 — сетевой интерфейс, его номер может быть другим.
Сохраняем файл, закрываем, делаем его исполняемым командой в консоли
chmod +x /etc/iptables.sh
и помещаем его команду для запуска в файл /etc/rc.local до строчки exit 0.
Запускаем файл — sh /etc/iptables.sh, проверяем netstat открытые порты, если надо закрыть какой-либо порт, добавляем еще строчку в файл и снова запускаем программу.
Все действия по созданию, запуску и изменению файлов для того чтобы открыть порт Linux нужно выполнять с правами суперпользователя.
3 комментария