Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - [решено] IPFW + natd + открытие портов для gmail

Ответить
Настройки темы
FreeBSD - [решено] IPFW + natd + открытие портов для gmail

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Onitenshi
Дата: 25-05-2011
Добрый день.

В нашей организации настроен интернет шлюз на FreeBSD 8.2. На нем поднят natd + squid + sams и настроены правила для IPFW. Все замечательно работает, без нареканий.
Недавно появилась необходимость в открытии трех магических портов - 143,587 и 993. Для работы клиентов с почтой gmail по протоколу imap.
Как я только не извращался с правилами, никак не могу добиться открытия именно этих магических портов. Handbook читал уже и все еще перечитываю ее, но проблему никак решить не могу.
Конфигурация firewall

#!/bin/sh

FwCMD="/sbin/ipfw" # ipfw
LanOut="dc0" # внешний интерфейс
LanIn="rl0" # внутренний интерфейс
IpOut="xx.xx.xx.xx" # внешний IP адрес машины
IpIn="192.168.0.254" # внутренний IP машины
NetMask="24" # маска сети
NetIn="192.168.0.0" # Внутренняя сеть

# Сбрасываем все правила:
${FwCMD} -f flush

# Cоответствует ли пакет динамическим правилам:
${FwCMD} add check-state

# Разрешаем весь траффик по внутреннему интерфейсу:
${FwCMD} add allow ip from any to any via lo0

# Запрещаем попытки lo0 куда-то лезть и откуда-то лезть на lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any

# Запрещаем частные сети на внешнем интерфейсе
${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}

# Запрещаем авто настраиваемую частную сеть
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}

# Запрещаем широковещательные запросы
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}

# Запрещаем фрагментированные icmp пакеты
${FwCMD} add deny icmp from any to any frag

# Запрещаем широковещательные icmp на внешнем интерфейсе
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}

############# FIREWALL ##############
# Перенаправляем всех на frox
${FwCMD} add fwd ${IpIn},2121 tcp from ${NetIn}/${NetMask} to any 21 via ${LanOut}

# Перенаправляем всех на squid
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn}/${NetMask} to any 80 via ${LanOut}

# Заворачиваем трафик в NAT
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}

# Запрещаем трафик к частным сетям через внешний интерфейс
${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}

# Запрещаем авто настраиваемую частную сеть
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}

# Запрещаем широковещательные рассылки
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}

# разрешаем все установленные соединения
${FwCMD} add allow tcp from any to any established

# разрешаем весь исходящий трафик
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}

# разрешаем DNS снаружи
${FwCMD} add allow udp from any 53 to any via ${LanOut}

# разрешаем UDP (для синхронизации времени - 123 порт)
${FwCMD} add allow udp from any to any 123 via ${LanOut}

${FwCMD} add allow tcp from any to ${IpOut} 48152-65535 via ${LanOut}

#---------------Сканеры определения типа ОС ---------------#
${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} tcpflags syn,fin,!ack
${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} tcpflags syn,fin,urg,psh,!ack
${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} tcpflags fin,urg,psh,!ack
${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} tcpflags fin,!ack
${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} tcpflags urg,!ack
${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} tcpflags psh,!ack
#--------------------------from DOS atack---------------------------#
${FwCMD} add deny log tcp from any to any tcpoptions !mss tcpflags syn,!ack


#--------------------------------Закрываем--------------------------------#
#Закрываем снаружи 80 порт
${FwCMD} add deny tcp from any to ${IpOut} 80 via ${LanOut}

#Закрываем 445 порт снаружи
${FwCMD} add deny tcp from any to ${IpOut} 445 via ${LanOut}

# Закрываем 3306 порт MySQL
${FwCMD} add deny tcp from any to ${IpOut} 3306 via ${LanOut}
#-------------------------------------------------------------------------#

#--------------------------------Открываем--------------------------------#
# разрешаем некоторые типы ICMP трафика - эхо-запрос,
# эхо-ответ и время жизни пакета истекло
${FwCMD} add allow icmp from any to any icmptypes 0,8,11

# Открываем снаружи SSH 22 порт
${FwCMD} add allow tcp from any to ${IpOut} 22 via ${LanOut}

# открываем снаружи 25 порт (SMTP)
${FwCMD} add allow tcp from any to ${IpOut} 25 via ${LanOut}

# открываем снаружи 110 порт (POP)
${FwCMD} add allow tcp from any to ${IpOut} 110 via ${LanOut}

# gmail.com
${FwCMD} add allow udp from any to ${IpOut} 143 out via ${LanOut} keep-state
${FwCMD} add allow tcp from any to ${IpOut} 143 out via ${LanOut} keep-state
${FwCMD} add allow udp from any to ${IpOut} 143 in via ${LanIn} keep-state
${FwCMD} add allow tcp from any to ${IpOut} 143 in via ${LanIn} keep-state

# open 587 port for gmail.com
${FwCMD} add allow tcp from any to ${IpOut} 587 out via ${LanOut} keep-state
${FwCMD} add allow udp from any to ${IpOut} 587 out via ${LanOut} keep-state
${FwCMD} add allow tcp from any to ${IpOut} 587 in via ${LanOut} keep-state
${FwCMD} add allow udp from any to ${IpOut} 587 in via ${LanOut} keep-state

# open 993 poet for gmail.com
${FwCMD} add allow tcp from any to ${IpOut} 993 out via ${LanOut} keep-state
${FwCMD} add allow udp from any to ${IpOut} 993 out via ${LanOut} keep-state
${FwCMD} add allow tcp from any to ${IpOut} 993 in via ${LanOut} keep-state
${FwCMD} add allow udp from any to ${IpOut} 993 in via ${LanOut} keep-state

# open ftp port for
${FwCMD} add allow tcp from any to ${IpOut} 21 via ${LanOut}
${FwCMD} add allow tcp from any to 192.168.0.253 21 via ${LanOut}

# open pptp port for VPN connections
${FwCMD} add allow tcp from any to ${IpOut} 1723 via ${LanOut}
${FwCMD} add allow udp from any to ${IpOut} 1723 via ${LanOut}

# разрешаем весь tcp трафик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow tcp from any to any via ${LanIn}

# разрешаем весь udp трафик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow udp from any to any via ${LanIn}

# разрешаем весь icmp трафик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow icmp from any to any via ${LanIn}

# NAT for local LAN
# ${FwCMD} add nat 1 ip from any to any via ${LanOut}

# запрещаем всё и всем.
# ${FwCMD} add deny ip from any to any


Хотелось бы услышать мнения и возможные пути решения. Может ссылка на литературу - но не так что, вот HandBook . Читай! ( хотя бы на статью какую нибудь)
Спасибо.

P.S.
Или может кто нибудь сталкивался с настройкой почтового клиента по imap через интернет шлюз с NAT + squid.
Буду признателен если поделитесь опытом.

Отправлено: 11:52, 25-05-2011

 

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Проблема решена, не там искал пути решения

Отправлено: 12:19, 25-05-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - [решено] IPFW + natd + открытие портов для gmail

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
FreeBSD - [решено] NATD, Portmapping и IPFW Negativ Общий по FreeBSD 22 14-09-2010 11:48
Firewall - [решено] Открытие портов на сервере для клиента stolyar Сетевые технологии 3 08-05-2009 10:06
Вопрос - FreeBSD 7.1 ipfw,natd kirimey Общий по FreeBSD 1 05-05-2009 00:27
FreeBSD - freeBSD 7.1 and ipfw, natd -> redirect_port kirimey Общий по FreeBSD 21 23-04-2009 15:25
Открытие портов в XP Zeleneew Microsoft Windows 2000/XP 7 18-11-2004 08:58




 
Переход