URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 50436
[ Назад ]

Исходное сообщение
"nat, freebsd"

Отправлено ABS , 12-Ноя-04 12:25 
Граждане, хелп.

Срочно нужна подсказка.
Дано - стоит машина с frebsd и смотрит в интернет, на ней поднят нат, и все машины из локалки ходят через этот нат.
fxp0 - внешний интерфейс, на нем поднят алиас. Внутри сети стоит почтовик, задача сделать с алиаса редирект 25, 110, 143 порта на почтовик.
Нат через natd - с ipnat связываться возможности нет. Перепробовал кучу вариантов - не пашут. Что может быть? Сразу говорю нат работает, но порты не перекидываются.

rc.conf

defaultrouter="xxx.xxx.xxx.x0"
gateway_enable="YES"
hostname="----"
ifconfig_fxp0="inet xxx.xxx.xxx.x1  netmask 255.255.255.192"
ifconfig_fxp1="inet 10.0.5.1  netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet xxx.xxx.xxx.x2 netmask 255.255.255.192"
ifconfig_fxp0_alias1="inet xxx.xxx.xxx.x3 netmask 255.255.255.192"
natd_enable="YES"
natd_interface="fxp0"
#natd_flags="-f /etc/natd.conf"
firewall_enable="YES"
firewall_type="/etc/firewall.conf"

natd.conf
redirect_port tcp 10.0.5.5:110 xxx.xxx.xxx.x2:110
redirect_port tcp 10.0.5.5:25 xxx.xxx.xxx.x2:25
redirect_port tcp 10.0.5.5:143 xxx.xxx.xxx.x2:143

firewall.conf
add 00050 divert 8668 all from any to any via fxp0
add 00100 allow all from any to any

Вообщем, чего надо сделать, чтоб заработало?


Содержание

Сообщения в этом обсуждении
"nat, freebsd"
Отправлено Jema , 12-Ноя-04 12:29 
это известная бага в natd. пропиши redirect_port в качестве аргумента. из natd.conf он ни чертане читает :(

"nat, freebsd"
Отправлено ABS , 12-Ноя-04 12:38 
>это известная бага в natd. пропиши redirect_port в качестве аргумента. из natd.conf
>он ни чертане читает :(


И так тоже пробовал... При замене строки в rc.conf на
natd_flags="-redirect_port tcp 10.0.5.5:110 xxx.xxx.xxx.x2:110 -redirect_port tcp 10.0.5.5:25  xxx.xxx.xxx.x2:25 -redirect_port tcp 10.0.5.5:143 xxx.xxx.xxx.x2:143"
все равно не пашет.


"nat, freebsd"
Отправлено alk , 12-Ноя-04 13:01 
natd [-alias_address | -a address] [-target_address | -t address]
и c него redirect

"nat, freebsd"
Отправлено ABS , 12-Ноя-04 13:06 
>natd [-alias_address | -a address] [-target_address | -t address]
>и c него redirect


То есть пускать второй нат?

А можно, если не очень трудно, по понятнее строку записать - так сказать полностью, в моем случае, что давать в natd_flags?


"nat, freebsd"
Отправлено co6aka , 12-Ноя-04 13:09 
что стоит в

sysctl net.inet.ip.redirect


"nat, freebsd"
Отправлено ABS , 12-Ноя-04 13:16 
>что стоит в
>
>sysctl net.inet.ip.redirect


единичка там стоит, единичка... все проверено... у кого нить есть просто рабочий конфиг?


"nat, freebsd"
Отправлено Jema , 12-Ноя-04 13:54 
>>что стоит в
>>
>>sysctl net.inet.ip.redirect
>
>
>единичка там стоит, единичка... все проверено... у кого нить есть просто рабочий
>конфиг?


проверь синтаксис, кажется redirect_port internal_ip:25 25 для проброса порта, а как ты написал то для redirect_address. посмотри в мане


"nat, freebsd"
Отправлено ABS , 12-Ноя-04 14:00 
>>>что стоит в
>>>
>>>sysctl net.inet.ip.redirect
>>
>>
>>единичка там стоит, единичка... все проверено... у кого нить есть просто рабочий
>>конфиг?
>
>
>проверь синтаксис, кажется redirect_port internal_ip:25 25 для проброса порта, а как ты
>написал то для redirect_address. посмотри в мане

нормально все
-redirect_port proto targetIP:targetPORT[-targetPORT]
                      [aliasIP:]aliasPORT[-aliasPORT]


"nat, freebsd"
Отправлено ABS , 12-Ноя-04 14:31 
Так, маленькое дополнение... На айпишнике, порты которого переадресуются все срабатывает. Но, есть ощущение, что с сервера на который переадресуется ответы просто идут не айпишник алиаса а на стандартный айпи ната...

Как исправить?


"nat, freebsd"
Отправлено Jema , 12-Ноя-04 14:43 
>Так, маленькое дополнение... На айпишнике, порты которого переадресуются все срабатывает. Но, есть
>ощущение, что с сервера на который переадресуется ответы просто идут не
>айпишник алиаса а на стандартный айпи ната...
>
>Как исправить?

что нормально? посмотри на свою конструкцию и на то что в мане target_IP:port port

-redirect_port tcp 10.0.5.5:25  xxx.xxx.xxx.x2:25


"nat, freebsd"
Отправлено ABS , 12-Ноя-04 14:51 
>>Так, маленькое дополнение... На айпишнике, порты которого переадресуются все срабатывает. Но, есть
>>ощущение, что с сервера на который переадресуется ответы просто идут не
>>айпишник алиаса а на стандартный айпи ната...
>>
>>Как исправить?
>
>что нормально? посмотри на свою конструкцию и на то что в мане
>target_IP:port port
>
>-redirect_port tcp 10.0.5.5:25  xxx.xxx.xxx.x2:25

Ну, вот не надо этих ртфмов - я тоже читать умею... Я даже больше скажу вот сейчас все прекрасно работает. Правда я редирект перекинул с алиаса на основной айпи. Ставлю вопрос по другому - почему редирект в моей конфе не срабатывает с алиаса.


"nat, freebsd"
Отправлено Jema , 12-Ноя-04 16:41 
>
>Ну, вот не надо этих ртфмов - я тоже читать умею... Я
>даже больше скажу вот сейчас все прекрасно работает. Правда я редирект
>перекинул с алиаса на основной айпи. Ставлю вопрос по другому -
>почему редирект в моей конфе не срабатывает с алиаса.

ну, мля, в таком случае формулируй вопрос сначал нормально


"nat, freebsd"
Отправлено ABS , 12-Ноя-04 17:55 
>>
>>Ну, вот не надо этих ртфмов - я тоже читать умею... Я
>>даже больше скажу вот сейчас все прекрасно работает. Правда я редирект
>>перекинул с алиаса на основной айпи. Ставлю вопрос по другому -
>>почему редирект в моей конфе не срабатывает с алиаса.
>
>ну, мля, в таком случае формулируй вопрос сначал нормально

Для того чтобы его сформулировать нормально - надо было сначала понять что происходит. А вот, комментариев по поводу формулировок можно было и не давать, особенно не имея ответа на поставленный вопрос.


"UP"
Отправлено ABS , 12-Ноя-04 16:19 
Ну чего, никто не знает?

"UP"
Отправлено alk , 12-Ноя-04 16:50 
>Ну чего, никто не знает?
в natd.conf пропиши alias_adress xxx.xxx.xxx.xxx


"UP"
Отправлено ABS , 12-Ноя-04 18:01 
>>Ну чего, никто не знает?
>в natd.conf пропиши alias_adress xxx.xxx.xxx.xxx

Угу, какой именно? Алиасный адрес сетевухи? Или первый адрес? и что будет - вся локалка будет ходить натиться не через первый адрес интерфейса, а через алиасный? То есть в наличествующей кофигурации ничего фактически не изменится.

Хорошо, тогда так ставится вопрос.
Есть интерфейс с двумя алиасами. Надо средствами ipfw и natd сделать так, чтобы на локальную сеть был нат через один адрес, а второй адрес частично портами переадресовался на машину внутри локальной сети. При этом желательно, чтобы эта машина натилась наружу тоже через второй адрес.


"UP"
Отправлено alk , 13-Ноя-04 16:48 
объясни зачем тебе нужен alias?
может поставить вторую сетевуху - дать ей адрес
запустить на ней nat и там же сделать обычный redirect
и машину из локалки выпускать по этому адресу через ipfw
как тебе вариант?

"UP"
Отправлено alk , 13-Ноя-04 18:00 
Вообщем насколько я понял схему попробуй сделать так

ifconfig_fxp0="inet xxx.xxx.xxx.x1  netmask 255.255.255.192"
ifconfig_fxp1="inet 10.0.5.1  netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet xxx.xxx.xxx.x2 netmask 255.255.255.192"
ifconfig_fxp0_alias1="inet xxx.xxx.xxx.x3 netmask 255.255.255.192


Вариант 1
natd -a IP_x1 -a IP_alias0 -p 8668 -redirect_port proto targetIP:targetPORT[-targetPORT] [aliasIP:]aliasPORT[-aliasPORT]

natd -a xxx.xxx.xxx.x1 -a xxx.xxx.xxx.x2 -p 8668 -redirect_port tcp mail_server:110 110 xxx.xxx.xxx.x2:110 110


Вариант 2
Запускаем статический nat ( redirect_address) на alias0
пишем для него правила в ipfw

Запускаем статический natd на alias0
natd -a xxx.xxx.xxx.x2 -p 8778 -redirect_address mail_server xxx.xxx.xxx.x2

natd -alias_address xxx.xxx.xxx.x2 -p 8778 -redirect_address mail_server xxx.xxx.xxx.x2


ipfw
правила для alias должны идти выше чем остальные

${ipfw} 10 add divert 8778 ip from mail_server to any out via xxx.xxx.xxx.x2
${ipfw} 20 add divert 8778 ip from any to xxx.xxx.xxx.x2 via fxp0
${ipfw} 30 add allow ip from any to mail_server 25,110,143
${ipfw} 40 add allow ip from mail_server to any

Попробуй
спинным мозгом чувствую что должно получиться


"UP"
Отправлено MCat , 15-Ноя-04 04:23 
>Вообщем насколько я понял схему попробуй сделать так
>
>Попробуй
>спинным мозгом чувствую что должно получиться


>>А мне как быть, если я natd.conf в глаза не видел (перерыл всю машину).