LINUX.ORG.RU
ФорумAdmin

Iptables Пробросить порт внутрь сети


0

1

имее

eth0      Link encap:Ethernet  HWaddr 90:2b:34:e7:20:55  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::922b:34ff:fee7:2055/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12222971 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19714230 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2099311957 (1.9 GiB)  TX bytes:21789564957 (20.2 GiB)
          Interrupt:42 Base address:0xa000 

eth1      Link encap:Ethernet  HWaddr 00:22:b0:52:6b:ff  
          inet6 addr: fe80::222:b0ff:fe52:6bff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19963450 errors:0 dropped:282 overruns:0 frame:0
          TX packets:9122777 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:22534267574 (20.9 GiB)  TX bytes:1812518739 (1.6 GiB)
          Interrupt:20 Base address:0xc000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5393677 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5393677 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2889087108 (2.6 GiB)  TX bytes:2889087108 (2.6 GiB)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:*******  P-t-P:10.10.50.93  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:162675 errors:0 dropped:0 overruns:0 frame:0
          TX packets:98131 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:215600786 (205.6 MiB)  TX bytes:7486446 (7.1 MiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:472 (472.0 B)  TX bytes:252 (252.0 B)

Установлен и настроен прозрачный прокси eth0 - подключение к локальной сети eth1 - кабель с интернет ppp0- нет со статичеким адресом ******* необходимо пробросить порт 85 в нутрь сети сети на адрес 192.168.1.5 мой фаервол
root@eldorado:/etc/network/if-up.d# cat firewall 
#!/bin/bash
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe iptable_nat
#этот модуль позволяет работать с ftp в пассивном режиме
modprobe ip_nat_ftp
modprobe ip_nat_irc

#очистка цепочек
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t mangle -F

#Запрет всего
iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP


#разрешаем все входящие пакеты на интрефейс замыкания на себя иначе ничего не работает 
iptables -A INPUT -i lo -j ACCEPT

#РАЗРЕШЕНЫ ТОЛЬКО ВХОДЯЩИЕ СОЗДАННЫЕ НАШИМИ ИСХОДЯЩИМИ
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Правила повышающие безопасность
#Блочим входящие tcp соединения не syn пакетом (либо ошибка либо атака)
iptables -I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP
iptables -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT

#Фильтруем ICMP по типам

iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 4 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 11 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 12 -j ACCEPT


#Запрещаем пинги из локальной сети 

#iptables -I FORWARD -s 192.168.1.0/24 -p icmp -j DROP


#разрешаем доступ из локальной сети на порты 22(ssh),3128 прокси squid,80 - apache веб морды

iptables -A INPUT -i eth0 -p udp --dport 53  -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 10001  -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8443  -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8081  -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080  -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8880  -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8843  -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 27117  -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443  -j ACCEPT


iptables -A INPUT -i eth0 -p tcp -m multiport --dport 22,25,110,80,3128,443 -j ACCEPT
#Доступ по SSh из нета
iptables -A INPUT -i ppp0 -p tcp -m multiport --dport 22 -j ACCEPT

############OpenVPN#######################
#Разрешаем доступ к openvpn серверу отовсюду
iptables -A INPUT  -p tcp  --dport 1194 -j ACCEPT
# разрешаем всем openvpn-клиентам соединение с интернетами
iptables -A FORWARD -i tun0 -o ppp0 -j ACCEPT
############OpenVPN#######################
################Доступ к видеорегистраторам отовсюду#################
iptables -A INPUT  -p tcp  --dport 85 -j ACCEPT
iptables -A INPUT  -p tcp  --dport 9000 -j ACCEPT
#####################################################################
#подстройка mtu без этого правила компы ходящие мимо прокси не открывают некоторые сайты
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS  --clamp-mss-to-pmtu 

#Разрешаем хождение через цепочку форвард пакетов идущих в ответ на пакеты с eth0

iptables -A FORWARD -i ppp0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#Заварачивае веб трафик из сети на squid

#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128

#Маскарадим то что прошло через цепочку forward
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE

#Даем доступ к центру управления юнифай с компов сети 
iptables -A FORWARD -p tcp  --dport 443 -d 192.168.1.1  -o eth0 -j ACCEPT

#Мио прокси
#https
iptables -A FORWARD -p tcp --dport 443 -o ppp0 -j ACCEPT
iptables -A FORWARD -s 192.168.1.184 -o ppp0 -j ACCEPT
#https для unifi

#Почтовые клиенты
iptables -A FORWARD -p tcp --dport 25 -o ppp0 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -o ppp0 -j ACCEPT

#Пробрасуем пот 85 в сеть 
#iptables -t nat -A PREROUTING -p tcp -d ******* --dport 85 -j DNAT --to-destination 192.168.1.5:85
#iptables -A FORWARD -i eth0 -d 192.168.1.5 -p tcp --dport 85 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d ****** --dport 85 -j DNAT --to-destination 192.168.1.5:85
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.1.5 --dport 85 -j SNAT --to-source *******
доступа с наружи нет подскажите что делаю не так ?

★★

Последнее исправление: drac753 (всего исправлений: 1)
Ответ на: комментарий от drac753

Оно самое. Ну и я бы поменял

iptables -A FORWARD -i ppp0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
на
iptables -A FORWARD -i ppp0 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED,DNAT -j ACCEPT

BOOBLIK ★★★★
()
Ответ на: комментарий от BOOBLIK
iptables -A FORWARD -i ppp0 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED,DNAT -j ACCEPT
iptables v1.4.14: Bad state "DNAT"
Try `iptables -h' or 'iptables --help' for more information.

не получается

drac753 ★★
() автор топика
Ответ на: комментарий от drac753

Bad state «DNAT»

оно же тебе говорит не существует такого состояния DNAT, тебе этим правилом нужно разрешить транзит между интерфейсами для уже установленных соединений

vxzvxz ★★★
()
Ответ на: комментарий от drac753

вот пример:

-A PREROUTING -i ppp0 -p tcp -m tcp --dport 5555 -j DNAT --to-destination 192.168.1.20:5555 
-A POSTROUTING -o ppp0 -j MASQUERADE
-A FORWARD -d 192.168.1.20/32 -i ppp0 -p tcp -m tcp --dport 5555 -j ACCEPT 
-A FORWARD -d 192.168.1.0/24 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT 

или юзай редиректор типа - rinetd

vxzvxz ★★★
()
Ответ на: комментарий от vxzvxz

сделал

вместо 
iptables -A FORWARD -i ppp0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
так
iptables -A FORWARD -i ppp0 -o eth0  -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp0  -j ACCEPT
Нормально ли это сточки зрения безопасности ?

drac753 ★★
() автор топика
Ответ на: комментарий от drac753

ну и у 192.168.1.5 дефолт-шлюзом должен быть хост на котором сейчас ковыряешь iptables, а SNAT не нужен, т.к. есть MASQUERADE

vxzvxz ★★★
()
Ответ на: комментарий от vxzvxz

извни что туплю но что-то но хочется разобратся полностью мой вариант

iptables -A FORWARD -i ppp0 -o eth0  -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp0  -j ACCEPT
из-за того что весь трафик может ходить между интерфейсами ? А если к примеру разрешить трафик только по нужным мне портам 85 и 9000 ?

drac753 ★★
() автор топика
Ответ на: комментарий от drac753

примерно правило я представляю так

iptables -A FORWARD -i ppp0 -p tcp --dport 85 -o eth0  -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 85 -o ppp0  -j ACCEPT

drac753 ★★
() автор топика
Ответ на: комментарий от drac753

FORWARD - отвечает за транзитный трафик (за пакеты пересылаемые между сетевыми интерфейсами)

А если к примеру разрешить трафик только по нужным мне портам 85 и 9000 ?

конкретно указывай хост и порт назначения и из какого интерфейса поступает

vxzvxz ★★★
()
Последнее исправление: vxzvxz (всего исправлений: 1)
Ответ на: комментарий от drac753

просто впиши в пример свои адреса и порты.

vxzvxz ★★★
()
Ответ на: комментарий от drac753

за каким х,,,м вторая строка, ты хоть понимаешь, что клиент может стучаться с произвольного порта, а у тебя порт назначения 85

можно еще это добавить:

FORWARD -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT

ищи где затык, включи и смотри логи iptables, используй tcpdump

vxzvxz ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.