Народ всем привет, недавно начал осваивать азы IPtables. Вроде по тихому начал въезжать, проблема в ограниченом времени на создание проекта. Суть задачи такая, настроить шлюз в интернет, для доступа пользователей к онному, а так же для доступа из вне к нашим сервисам. (Web/ssh/asterisk/mail. ну и тд.) Погуглив чутка немного растерялся. т.к все настраивают Iptables по своему, кто скриптом, кто из консоли правила добавляет, особо линивые юзают веб оболочки, ну к примеру webmin. Я пробовал много вариантов, чтение манов в том числе) в итоге после того как скопипастил один скриптик с описанием правил смог организовать нат для своей сети на определенные порты 80,443 а так же тем кому надо открыл доступ ко всем портам.
enp2s0=192.168.1.10 эта сетевая смотрит в интернет enp4s0=192.168.112.21 эта сетевая смотрит в мою сеть
Собственно вот сам скрипт
#!/bin/bash
#Очистка всех цепочек
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -X -t nat
iptables -X -t mangle
#Политика по умолчанию - запретить все, что не разрешено
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
EXT_IP=192.168.1.10
INT_IP=192.168.112.21
INFRA=192.168.112.0/24
VSE=192.168.112.10/32
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#iptables -A FORWARD -i enp4s0 -m state --state NEW -m tcp -p tcp -d 192.168.112.1 --dport 22 -j ACCEPT
iptables -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT
iptables -A INPUT -i enp2s0 -j ACCEPT
iptables -A OUTPUT -o enp2s0 -j ACCEPT
#iptables -A FORWARD -i enp2s0 -s 192.168.1.0/24 -p tcp -m multiport --dports 21,22,25,110,143 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i enp2s0 -s 192.168.112.0/24 -p udp -m multiport --dports 53 -j ACCEPT
iptables -A FORWARD -i enp2s0 -s 192.168.112.0/24 -p tcp -m multiport --dports 53 -j ACCEPT
iptables -I FORWARD 1 -i enp4so -o enp2s0 -d 192.168.112.1 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -i enp2s0 -p ICMP -j ACCEPT
iptables -A OUTPUT -o enp2s0 -p ICMP -j ACCEPT
##iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE
##iptables -t nat -A PREROUTING -i enp4s0 -p tcp --dport 22 -j DNAT --to-destination 192.168.112.1:22
iptables -t nat -A PREROUTING --dst ${EXT_IP} -p tcp --dport 22 -j DNAT --to-destination 192.168.112.1
iptables -t nat -A POSTROUTING -s ${INFRA} -p tcp -m multiport --dports 80,443,55337 -j SNAT --to-source ${EXT_IP}
iptables -t nat -A POSTROUTING -s ${VSE} -j SNAT --to-source ${EXT_IP}
Мне осталось пробросить порт из вне к примеру 22 на комп в сети 192.168.112.1 за моим шлюзом В скрипте есть закоменченные строки, это мои жалкие попытки пробросить 22 порт. В общем как на основе «моего» скрипта пробрасывать порты из интернета внутрь моей сети?