The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"NATD+IPFW+ несколько public IP + redirect_address"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"NATD+IPFW+ несколько public IP + redirect_address"  
Сообщение от wert (??) on 24-Дек-08, 20:42 
Приветствую всех.
Сразу задам вопрос - ибо если это невозможно, то нет смысла просматривать конфиги, которые приведу ниже.
Вопрос: Может ли один NATD (привязанный к внешнему интерфейсу) транслировать пакеты на несколько public IP (алиасов на этом же внешнем интерфейсе). Или же для этого нужно поднимать еще natd - для каждого алиаса и привязывать по ним.
Если возможно, то продолжаю.
Для трансляции использую опцию redirect_adress и разрешающие правила в фаерволе на вход пакетов на определ порт на каждый алиас. Например
add allow tcp from any to ${IpOut} 80 via ${NIC_Out}
add allow tcp from any to ${IpOutAlias1} 80 via ${NIC_Out}
add allow tcp from any to ${IpOutAlias2} 80 via ${NIC_Out}
но эта конструкция не работает.
И толька при замене этих правил другим
add allow tcp from any to any 80 via ${NIC_Out}
пакеты ходят как нужно.
Подозреваю что возможно намудрил в фаерволе - но не могу определить где именно.
Для решивших поучавстовать в решении проблемы привожу конфиги

rc.conf

gateway_enable="YES"

firewall_enable="YES"
firewall_script="/etc/ipfw.rules"

natd_enable="YES"
natd_interface="sk0"
natd_flags="-f /etc/natd.conf"

defaultrouter="195.xx.xx.113"

ifconfig_sk0="inet 195.xx.xx.114 netmask 255.255.255.240"
ifconfig_sk0_alias0="inet 195.xx.xx.115 netmask 255.255.255.255"
ifconfig_sk0_alias1="inet 195.xx.xx.116 netmask 255.255.255.255"

ifconfig_sk1="inet 10.0.1.1 netmask 255.255.255.0"

думаю тут все правильно :-)

natd.conf

log yes
log_denied yes
log_ipfw_denied yes
same_ports yes
use_sockets yes
unregistered_only yes
redirect_address 10.0.1.10 195.xx.xx.115
redirect_address 10.0.1.11 195.xx.xx.116

думаю тут проблем тоже нету.

ipfw.rules

#!/bin/sh

FwCMD="/sbin/ipfw -q  "     # location of ipfw
NIC_Out="sk0"               # External interface
IpOut="195.xx.xx.114"      # External IP address
IpOutAl1="195.xx.xx.115"   # External IP address alias1
IpOutAl2="195.xx.xx.116"   # External IP address alias2
NetOut="195.xx.xx.112/28"  # External network
NIC_In="sk1"                # Internal interface
IpIn="10.0.1.1"             # Internal IP address
NetIn="10.0.1.0/24"         # Internal network

${FwCMD} -f flush

${FwCMD} add check-state
${FwCMD} add allow ip from any to any via 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 ${NetIn} to any in via ${NIC_Out}
${FwCMD} add deny ip from ${NetOut} to any in via ${NIC_In}

${FwCMD} add deny icmp from any to any frag
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${NIC_Out}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${NIC_Out}

${FwCMD} add divert natd ip from ${NetIn} to any out via ${NIC_Out}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${NIC_Out}
${FwCMD} add divert natd ip from any to ${IpOutAl1} in via ${NIC_Out}
${FwCMD} add divert natd ip from any to ${IpOutAl2} in via ${NIC_Out}

${FwCMD} add allow ip from any to ${NetIn} in via ${NIC_In}
${FwCMD} add allow ip from ${NetIn} to any out via ${NIC_In}

${FwCMD} add allow tcp from any to any established

${FwCMD} add allow ip from ${IpOut} to any out xmit ${NIC_Out}
${FwCMD} add allow ip from ${IpOutAl1} to any out xmit ${NIC_Out}
${FwCMD} add allow ip from ${IpOutAl2} to any out xmit ${NIC_Out}

${FwCMD} add allow udp from any 53 to any via ${NIC_Out}
${FwCMD} add allow udp from any to any 53 via ${NIC_Out}

${FwCMD} add allow icmp from any to any icmptypes 0,8,11

${FwCMD} add allow tcp from any to any 80 via ${NIC_Out}
#${FwCMD} add allow tcp from any to ${IpOut} 80 via ${NIC_Out}
#${FwCMD} add allow tcp from any to ${IpOutAl1} 80 via ${NIC_Out}
#${FwCMD} add allow tcp from any to ${IpOutAl2} 80 via ${NIC_Out}

${FwCMD} add allow ip from any to any via ${NIC_In}

${FwCMD} add 56000 allow tcp from any to me 22 via ${NIC_Out}

${FwCMD} add 65000 deny ip from any to any

Если кто знает - укажите на ошибку. Спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "NATD+IPFW+ несколько public IP + redirect_address"  
Сообщение от Новичок (??) on 25-Дек-08, 17:13 
Извиняюсь, точно не скажу.
Посмотри правила:
${FwCMD} add allow ip from any to ${NetIn} in via ${NIC_In}
${FwCMD} add allow ip from ${NetIn} to any out via ${NIC_In}

Мне кажется должно быть так:
${FwCMD} add allow ip from ${NetIn} to any in via ${NIC_In}
${FwCMD} add allow ip from any to ${NetIn} out via ${NIC_In}

Хотя и эти правила мне кажуться не безопастными!

Удачи!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "NATD+IPFW+ несколько public IP + redirect_address"  
Сообщение от wert (??) on 25-Дек-08, 18:30 
>[оверквотинг удален]
>${FwCMD} add allow ip from any to ${NetIn} in via ${NIC_In}
>${FwCMD} add allow ip from ${NetIn} to any out via ${NIC_In}
>
>Мне кажется должно быть так:
>${FwCMD} add allow ip from ${NetIn} to any in via ${NIC_In}
>${FwCMD} add allow ip from any to ${NetIn} out via ${NIC_In}
>
>Хотя и эти правила мне кажуться не безопастными!
>
>Удачи!

Спасибо за ответ. Но к сожалению он не смог помочь. Такая же картина. ((

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "NATD+IPFW+ несколько public IP + redirect_address"  
Сообщение от Новичок (??) on 25-Дек-08, 18:54 
Пригляделся я и увидел, вот что!
${FwCMD} add allow udp from any 53 to any via ${NIC_Out}
${FwCMD} add allow udp from any to any 53 via ${NIC_Out}
Такое правило точно не безопасно! Злоумышленник легко подделает порт отправки!
Сделай только одно правило.
${FwCMD} add allow udp from any to any 53 via ${NIC_Out} keep-state
Ключевое тут keep-state

Я думаю что Вам необходимо правило:


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "NATD+IPFW+ несколько public IP + redirect_address"  
Сообщение от wert (??) on 25-Дек-08, 20:39 
>Пригляделся я и увидел, вот что!
>${FwCMD} add allow udp from any 53 to any via ${NIC_Out}
>${FwCMD} add allow udp from any to any 53 via ${NIC_Out}
>Такое правило точно не безопасно! Злоумышленник легко подделает порт отправки!
>Сделай только одно правило.
>${FwCMD} add allow udp from any to any 53 via ${NIC_Out} keep-state
>
>Ключевое тут keep-state
>
>Я думаю что Вам необходимо правило:

Спасибо за рекомендацию - учту. А какое правило Вы хотели предложить в конце?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "NATD+IPFW+ несколько public IP + redirect_address"  
Сообщение от Новичок (??) on 26-Дек-08, 11:04 
>[оверквотинг удален]
>>Такое правило точно не безопасно! Злоумышленник легко подделает порт отправки!
>>Сделай только одно правило.
>>${FwCMD} add allow udp from any to any 53 via ${NIC_Out} keep-state
>>
>>Ключевое тут keep-state
>>
>>Я думаю что Вам необходимо правило:
>
>Спасибо за рекомендацию - учту. А какое правило Вы хотели предложить в
>конце?

${FwCMD} add allow tcp from any to any established
${FwCMD} add allow tcp from ${NetIn} to any setup
${FwCMD} add allow udp from ${NetIn} to any keep-state
То есть без указания интерфейса!

Попробуй закоментировать правила:
${FwCMD} add deny ip from ${NetIn} to any in via ${NIC_Out}
${FwCMD} add deny ip from ${NetOut} to any in via ${NIC_In}

а поставь

${FwCMD} add deny ip from any to ${NetIn} via ${NIC_Out}
${fwcmd} add deny all from any to 10.0.0.0/8 via ${NIC_Out}
${fwcmd} add deny all from any to 172.16.0.0/12 via ${NIC_Out}
${fwcmd} add deny all from any to 192.168.0.0/16 via ${NIC_Out}

потом правила divert

потом
${FwCMD} add deny ip from ${NetIn} to any via ${NIC_Out}
${fwcmd} add deny all from 10.0.0.0/8 to any via ${NIC_Out}
${fwcmd} add deny all from 172.26.0.0/12 to any via ${NIC_Out}
${fwcmd} add deny all from 192.168.0.0/16 to any via ${NIC_Out}

Удачи!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "NATD+IPFW+ несколько public IP + redirect_address"  
Сообщение от wert (??) on 26-Дек-08, 12:35 
>[оверквотинг удален]
>
>потом правила divert
>
>потом
>${FwCMD} add deny ip from ${NetIn} to any via ${NIC_Out}
>${fwcmd} add deny all from 10.0.0.0/8 to any via ${NIC_Out}
>${fwcmd} add deny all from 172.26.0.0/12 to any via ${NIC_Out}
>${fwcmd} add deny all from 192.168.0.0/16 to any via ${NIC_Out}
>
>Удачи!

Спасибо за советы - учел.
Проблему решил.
просто после правил диверта поставил разрешения с внешнего интерфейса на private IP.
${FwCMD} add allow tcp from any to 10.0.1.10 80 in via sk0
${FwCMD} add allow tcp from any to 10.0.1.11 80 in via sk0

еше раз спасибо за помощь.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру