Iptables работа с портами. Проброс портов DNAT/SNAT
Iptables работа с портами. Проброс портов DNAT/SNATМногие часто сталкиваются с проблемой когда есть локальная компьютерная сеть и нужно что бы пакеты из вне попадали вовнутрь и из внутренней сети наружу по определённым портам.
Далее несколько правил.
Разрешить конкретному айпи доступ по порту в интернет
iptables -I FORWARD -s 192.168.0.2 -p tcp –dport 25 -j ACCEPTПоясненя
-I – вставка правила в начало цепочкиЧто бы запретить пакетам ходить на удалённый порт
FORWARD – цепочка через которую ходят проходящие пакеты
-s – адрес источника (компьютера который обращается по данному порту в интернет)
-p tcp — тип протокола
–dport – указать порт назначения
25 номер порта
-j – выполнить действие с правилом
ACCEPT разрешить
iptables -I FORWARD -s 192.168.0.2 -p tcp –dport 25 -j DROPЧто бы из вне запретить или разрешить ходить пакетам на компьютер во внутренней сети на определённый порт.
iptables -I FORWARD -d 192.168.0.2 -p tcp –dport 25 -j DROP(ACCEPT)
Кроме FORWARD в таблице filter есть ещё цепочки OUTPUT и INPUT
OUTPUT — для фильтрации исходящих пакетов
INPUT — для фильтрации входящих пакетов
Но если дело касается только компьютеров во внутренней сети и выхода в интернет то лучше использовать только FORWARD
Как организовать проброс портов
Представим схему
internet—–IP1(маршрутизатор)–IP2(локальный компьютер)
Если нужно что бы по обращению к конкретному порту вашего сервера из вне во внутреннюю сеть пакет поступал на конкретный айпи, то делается это с помощью NAT
iptables -t nat -A PREROUTING -p tcp –dport 2106 -d IP1 -j DNAT –to-destination IP2
iptables -t nat -A POSTROUTING -p tcp –dport 2106 -d IP2 -j SNAT –to IP1
1 правило – пробрасывает пакет по порту во внутреннею сеть на конкретный айпи
-t nat указать таблицу nat
-A – добавить правила в конец цепочки
PREROUTING –указать цепочку
-p tcp –dport 2106 пример указывания порта на который будет обращение к серверу
-d IP1 – ваш внешний айпи
-j DNAT транслировать адреса во внутреннюю сеть
–to-destination — указывать куда
2 правило — возврат пакета отправителю
-t nat указать таблицу nat
-A – добавить правила в конец цепочки
PREROUTING –указать цепочку
-p tcp –dport 2106 пример указывания порта на который будет обращение к серверу
-d IP2 — адрес во внутренней сети
-j SNAT –to IP1 транслировать адрес обратно вашим внешним айпи для возврата пакета назад отправителю
Таким образом пакет попадая на ваш маршрутизатор на определённый порт попадает на порт локального компьютера и имеет возможность вернуться назад.
Комментариев нет:
Отправить комментарий