Граждане, хелп.Срочно нужна подсказка.
Дано - стоит машина с 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:143firewall.conf
add 00050 divert 8668 all from any to any via fxp0
add 00100 allow all from any to anyВообщем, чего надо сделать, чтоб заработало?
это известная бага в natd. пропиши redirect_port в качестве аргумента. из natd.conf он ни чертане читает :(
>это известная бага в 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"
все равно не пашет.
natd [-alias_address | -a address] [-target_address | -t address]
и c него redirect
>natd [-alias_address | -a address] [-target_address | -t address]
>и c него redirect
То есть пускать второй нат?А можно, если не очень трудно, по понятнее строку записать - так сказать полностью, в моем случае, что давать в natd_flags?
что стоит вsysctl net.inet.ip.redirect
>что стоит в
>
>sysctl net.inet.ip.redirect
единичка там стоит, единичка... все проверено... у кого нить есть просто рабочий конфиг?
>>что стоит в
>>
>>sysctl net.inet.ip.redirect
>
>
>единичка там стоит, единичка... все проверено... у кого нить есть просто рабочий
>конфиг?
проверь синтаксис, кажется redirect_port internal_ip:25 25 для проброса порта, а как ты написал то для redirect_address. посмотри в мане
>>>что стоит в
>>>
>>>sysctl net.inet.ip.redirect
>>
>>
>>единичка там стоит, единичка... все проверено... у кого нить есть просто рабочий
>>конфиг?
>
>
>проверь синтаксис, кажется redirect_port internal_ip:25 25 для проброса порта, а как ты
>написал то для redirect_address. посмотри в маненормально все
-redirect_port proto targetIP:targetPORT[-targetPORT]
[aliasIP:]aliasPORT[-aliasPORT]
Так, маленькое дополнение... На айпишнике, порты которого переадресуются все срабатывает. Но, есть ощущение, что с сервера на который переадресуется ответы просто идут не айпишник алиаса а на стандартный айпи ната...Как исправить?
>Так, маленькое дополнение... На айпишнике, порты которого переадресуются все срабатывает. Но, есть
>ощущение, что с сервера на который переадресуется ответы просто идут не
>айпишник алиаса а на стандартный айпи ната...
>
>Как исправить?что нормально? посмотри на свою конструкцию и на то что в мане target_IP:port port
-redirect_port tcp 10.0.5.5:25 xxx.xxx.xxx.x2:25
>>Так, маленькое дополнение... На айпишнике, порты которого переадресуются все срабатывает. Но, есть
>>ощущение, что с сервера на который переадресуется ответы просто идут не
>>айпишник алиаса а на стандартный айпи ната...
>>
>>Как исправить?
>
>что нормально? посмотри на свою конструкцию и на то что в мане
>target_IP:port port
>
>-redirect_port tcp 10.0.5.5:25 xxx.xxx.xxx.x2:25Ну, вот не надо этих ртфмов - я тоже читать умею... Я даже больше скажу вот сейчас все прекрасно работает. Правда я редирект перекинул с алиаса на основной айпи. Ставлю вопрос по другому - почему редирект в моей конфе не срабатывает с алиаса.
>
>Ну, вот не надо этих ртфмов - я тоже читать умею... Я
>даже больше скажу вот сейчас все прекрасно работает. Правда я редирект
>перекинул с алиаса на основной айпи. Ставлю вопрос по другому -
>почему редирект в моей конфе не срабатывает с алиаса.ну, мля, в таком случае формулируй вопрос сначал нормально
>>
>>Ну, вот не надо этих ртфмов - я тоже читать умею... Я
>>даже больше скажу вот сейчас все прекрасно работает. Правда я редирект
>>перекинул с алиаса на основной айпи. Ставлю вопрос по другому -
>>почему редирект в моей конфе не срабатывает с алиаса.
>
>ну, мля, в таком случае формулируй вопрос сначал нормальноДля того чтобы его сформулировать нормально - надо было сначала понять что происходит. А вот, комментариев по поводу формулировок можно было и не давать, особенно не имея ответа на поставленный вопрос.
Ну чего, никто не знает?
>Ну чего, никто не знает?
в natd.conf пропиши alias_adress xxx.xxx.xxx.xxx
>>Ну чего, никто не знает?
>в natd.conf пропиши alias_adress xxx.xxx.xxx.xxxУгу, какой именно? Алиасный адрес сетевухи? Или первый адрес? и что будет - вся локалка будет ходить натиться не через первый адрес интерфейса, а через алиасный? То есть в наличествующей кофигурации ничего фактически не изменится.
Хорошо, тогда так ставится вопрос.
Есть интерфейс с двумя алиасами. Надо средствами ipfw и natd сделать так, чтобы на локальную сеть был нат через один адрес, а второй адрес частично портами переадресовался на машину внутри локальной сети. При этом желательно, чтобы эта машина натилась наружу тоже через второй адрес.
объясни зачем тебе нужен alias?
может поставить вторую сетевуху - дать ей адрес
запустить на ней nat и там же сделать обычный redirect
и машину из локалки выпускать по этому адресу через ipfw
как тебе вариант?
Вообщем насколько я понял схему попробуй сделать так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.x2natd -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Попробуй
спинным мозгом чувствую что должно получиться
>Вообщем насколько я понял схему попробуй сделать так
>
>Попробуй
>спинным мозгом чувствую что должно получиться
>>А мне как быть, если я natd.conf в глаза не видел (перерыл всю машину).