Войти

Показать полную графическую версию : [решено] NATD, Portmapping и IPFW


Страниц : 1 [2]

Negativ
13-09-2010, 16:38
Telepuzik,
дописал. Результат не изменился.

Telepuzik
13-09-2010, 17:36
Странно у меня такие же правила и все работает. А rc.conf все таки покажите.

Negativ
14-09-2010, 11:48
Telepuzik,
Спасибо за помощь.
Не хватало еще одного правила после вашего
ipfw add allow ip from <внешний ip> to any out xmit stge0
allow ip from any to <внешний ip> in via stge0

Итого:
в rc.conf:

ifconfig_stge0="inet <внешний ip> netmask <маска>"
ifconfig_msk0="inet <внутренний ip> netmask <маска>"
defaultrouter="<ip шлюза по-умолчанию>"
hostname="имя вашего хоста"

named_enable="YES"
inetd_enable="NO"
sshd_enable="YES"
sendmail_enable="NONE"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="MY"
natd_enable="YES"
natd_interface="stge0"
natd_flags="-f /etc/natd.conf"
dhcpd_enable="YES"
icmp_drop_redirect="YES" # игнорируем перенаправленные ICMP пакеты
icmp_log_redirect="YES" # включаем логинг ICMP REDIRECT
squid_enable="YES"

в natd.conf

same_ports yes
use_sockets yes
interface stge0
unregistered_only yes
redirect_port tcp внутреннийip:порт порт


в rc.firewall

# Разрешаем трафик loopback интерфейсе
${fwcmd} add pass all ip from any to any via lo0

# Заворачиваем исходящий трафик из локалки наружу через внешний интерфейс
${fwcmd} add divert natd ip from 192.168.1.0/24 to any out via stge0

# Заворачиваем входящий трафик снаружи на внешний ip через внешний интерфейс
${fwcmd} add divert natd ip from any to <внешний ip> in via stge0

# Разрешаем выход трафика с внешнего ip на любой ТОЛЬКО через внешний интерфейс
${fwcmd} add allow ip from <внешний ip> to any out xmit stge0

# Разрешаем вход трафика снаружи на внешний ip через внешний интерфейс
${fwcmd} add allow ip from any to <внешний ip> in via stge0

# Разрешаем весь TCP трафик с установленным соединением (Когда бит ACK сброшен и установлен SYN. См. RFC по установке TCP соединения)
${fwcmd} add allow tcp from any to any established

# Разрешаем трафик внутри локалки через внутренний интерфейс
${fwcmd} add allow ip from 192.168.1.0/24 to 192.168.1.0/24 via msk0

# Разрешаем трафик из локалки куда угодно через внутренний интерфейс (трафик поступает из локалки во внутренний интерфейс)
${fwcmd} add allow ip from 192.168.1.0/24 to any in via msk0

# Разрешаем трафик из локалки куда угодно через внешний интерфейс (трафик из локалки выходит с внешнего интерфейса)
${fwcmd} add allow ip from 192.168.1.0/24 to any out via stge0

# Разрешаем входящий трафик откуда угодно в локалку через внешний интерфейс
${fwcmd} add allow ip from any to 192.168.1.0/24 in via stge0

# Разрешаем исходящий трафик откуда угодно в локалку через внутренний интерфейс
${fwcmd} add allow ip from any to 192.168.1.0/24 out via msk0

# Разрешаем весь UDP ходящий через внутренний интерфейс (Это необходимо если у вас в сети функционирует DNS и DHCP)
${fwcmd} add allow udp from any to any via msk0

# Запрещаем все
${fwcmd} add deny log ip from any to any


P.S.: Последнее сообщение можно прикрепить в начало темы.




© OSzone.net 2001-2012