Возникла необходимость настроить сервер следующим образом:10.102.104.* <-> |10.102.104.6 |NAT| 192.168.10.10| <-> 192.168.10.*
При этом, чтобы сети выходили друг в друга под одним (т.е. по одному с каждого интерфейса) ip.
Т.е. , чтоб компьютер 10.102.104.53 мог обращаться к 192.168.10.1 под ип 192.168.10.10 (интерфейс сервера), а все остальные компьютеры сети 192.168.10.* могли выходить в первую сеть под ип 10.102.104.6.На форуме встречал варианты, когда внутренний/внешний один - а других два, но тут IMHO немного другой случай. Удается настроить лишь для одной сети или для другой. Сразу для двух не получается. Переключателем сейчас является параметр:
natd_interface="rl0"
Если указывается соответсвенно другой интерфейс( natd_interface="rl1")- схема работает лишь в другую сторону.Вот фрагменты настроек:
____________________________________________________
rc.conf
/sbin/natd -p 8666 -n rl0
/sbin/natd -p 8667 -n rl1____________________________________________________
rc.local
ifconfig_rl1="10.102.104.6/20"
ifconfig_rl0="192.168.10.10/24"defaultrouter="192.168.10.1"
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_quiet="NO"
firewall_logging="YES"
firewall_flags=""
natd_program="/sbin/natd"
natd_enable="YES"
natd_interface="rl0"
#natd_flags=""
____________________________________________________
rc.firewallfwcmd="/sbin/ipfw"
lnet="192.168.0.0/16" # to loclanet
lip="192.168.10.10" # local ip
lif="rl0"
favif="rl1"# настройка в одну сторону (10.102.104.52 <-> 192.168.10.10)
${fwcmd} add divert natd all from 10.102.104.52 to any via ${lif}
${fwcmd} add divert natd all from not 192.168.10.0/24{25,125,122,206,26,106} to 192.168.10.10 via ${lif}
# настройка в другую (10.102.104.* <-> 192.168.10.*)
${fwcmd} add divert natd all from 192.168.10.0/24{25,125,122,206,26,106} to any via ${favif}
${fwcmd} add divert natd all from any to 10.102.104.6 via ${favif}
${fwcmd} add allow all from any to any_________________________________________________________
Пытался найти похожие задачи здесь на форуме и вообще в интернете (в т.ч. в англоязычных ресурсах) - к успеху не привело.
Буду благодарен, за любые советы, в т.ч. - где копать.
>Возникла необходимость настроить сервер следующим образом:
>
> 10.102.104.* <-> |10.102.104.6 |NAT| 192.168.10.10| <-> 192.168.10.*
>
>При этом, чтобы сети выходили друг в друга под одним (т.е. по
>одному с каждого интерфейса) ip.
> Т.е. , чтоб компьютер 10.102.104.53 мог обращаться к 192.168.10.1
>под ип 192.168.10.10 (интерфейс сервера), а все остальные компьютеры сети
>192.168.10.* могли выходить в первую сеть под ип 10.102.104.6.
>Если с iptables, то просто маскарадишиь пакеты по источнику:
... -s 192.168.10.0/24 .. -j SNAT --to-source 192.168.10.6
... -s 10.102.104.0/24 .. -j SNAT --to-source 10.102.104.10
>[оверквотинг удален]
>>При этом, чтобы сети выходили друг в друга под одним (т.е. по
>>одному с каждого интерфейса) ip.
>> Т.е. , чтоб компьютер 10.102.104.53 мог обращаться к 192.168.10.1
>>под ип 192.168.10.10 (интерфейс сервера), а все остальные компьютеры сети
>>192.168.10.* могли выходить в первую сеть под ип 10.102.104.6.
>>
>
>Если с iptables, то просто маскарадишиь пакеты по источнику:
>... -s 192.168.10.0/24 .. -j SNAT --to-source 192.168.10.6
>... -s 10.102.104.0/24 .. -j SNAT --to-source 10.102.104.10Спасибо, но может я ошибаюсь, но iptables это для Linux.
Если у кого есть идеи, реализуемо ли вообще в том ключе, в котором сейчас настроен, тоже был бы признателен.
>[оверквотинг удален]
>>>192.168.10.* могли выходить в первую сеть под ип 10.102.104.6.
>>>
>>
>>Если с iptables, то просто маскарадишиь пакеты по источнику:
>>... -s 192.168.10.0/24 .. -j SNAT --to-source 192.168.10.6
>>... -s 10.102.104.0/24 .. -j SNAT --to-source 10.102.104.10
>
>Спасибо, но может я ошибаюсь, но iptables это для Linux.
>Если у кого есть идеи, реализуемо ли вообще в том ключе, в
>котором сейчас настроен, тоже был бы признателен.Взять ipnat. Хорошая штука. Там собственно не возникает никаких проблем. Думаю, с помощью мана ты всё поймёшь - или в поиск, ибо даже я уже вроде отписывался по его конфигу здесь :)
>Возникла необходимость настроить сервер следующим образом:
>
> 10.102.104.* <-> |10.102.104.6 |NAT| 192.168.10.10| <-> 192.168.10.*
>
>
>Пытался найти похожие задачи здесь на форуме и вообще в интернете (в
>т.ч. в англоязычных ресурсах) - к успеху не привело.
>
>Буду благодарен, за любые советы, в т.ч. - где копать.кто тебе не дает использовать два ната и разные диверты?
>кто тебе не дает использовать два ната и разные диверты?я писал вверху, с этими настройками не получилось работать в обе стороні.
2smb
Большое спасибо, помогло.
Значит сделал так:
0. Закомментировал все настройки предыдущего NAT1. создал файл ipnat.conf
#extra rule for direct access from 10.102.104.52 to 192.168.10.25
map rl0 from 10.102.104.52/32 to 192.168.10.25/32 -> 10.102.104.52/32
map rl0 10.102.104.52/32 -> 192.168.10.10/32
map rl1 192.168.10.0/24 -> 10.102.104.6/322. Upload some module to Kernel for ipnat
Command:
kldload ipl3.Command:
ipnat -CF -f /etc/ipnat.confИ все, спасибо также всем, кто читал и отписался!
P.S. Чтобы NAT загружался в автозагрузке - нужно его дополнительно прописать в rc.*. Это подробно описано на этом сайте.
>[оверквотинг удален]
>параметр:
> natd_interface="rl0"
>Если указывается соответсвенно другой интерфейс( natd_interface="rl1")- схема работает лишь в другую сторону.
>
>
>Вот фрагменты настроек:
>____________________________________________________
>rc.conf
>/sbin/natd -p 8666 -n rl0
>/sbin/natd -p 8667 -n rl1cp /sbin/natd /sbin/natd1
И опишите для второго NAT конфиг.
И стартуйте NATы через rc.local
/sbin/natd -f /etc/natd.conf -p 8666 -n rl0
sleep 2
/sbin/natd1 -f /etc/natd1.conf -p 8667 -n rl1
> # настройка в одну сторону (10.102.104.52 <-> 192.168.10.10)
> ${fwcmd} add divert natd all from 10.102.104.52 to any via ${lif}${fwcmd} add divert natd all from 10.102.104.52 to any out via ${lif}
> ${fwcmd} add divert natd all from not 192.168.10.0/24{25,125,122,206,26,106} to 192.168.10.10
>via ${lif}${fwcmd} add divert natd all from not 192.168.10.0/24{25,125,122,206,26,106} to 192.168.10.10 in via ${lif}
И на втором NATе тоже подобное пропишите, вместо natd укажите natd1
>[оверквотинг удален]
>${fwcmd} add divert natd all from 10.102.104.52 to any out via ${lif}
>
>
>> ${fwcmd} add divert natd all from not 192.168.10.0/24{25,125,122,206,26,106} to 192.168.10.10
>>via ${lif}
>
>${fwcmd} add divert natd all from not 192.168.10.0/24{25,125,122,206,26,106} to 192.168.10.10 in
>via ${lif}
>
>И на втором NATе тоже подобное пропишите, вместо natd укажите natd1Сеньк, не додумался, думал можно одним это же зафигачить.... Но как писал выше сделал с помощью ipnat
>[оверквотинг удален]
> ${fwcmd} add divert natd all from any to 10.102.104.6
> via ${favif}
> ${fwcmd} add allow all from any to any
>
>_________________________________________________________
>
>Пытался найти похожие задачи здесь на форуме и вообще в интернете (в
>т.ч. в англоязычных ресурсах) - к успеху не привело.
>
>Буду благодарен, за любые советы, в т.ч. - где копать.Вы хотите сделать маршрутизацию из одной сети в другую на freebsd. Для создания маршрутизации nat не нужен.
>[оверквотинг удален]
>>
>>_________________________________________________________
>>
>>Пытался найти похожие задачи здесь на форуме и вообще в интернете (в
>>т.ч. в англоязычных ресурсах) - к успеху не привело.
>>
>>Буду благодарен, за любые советы, в т.ч. - где копать.
>
>Вы хотите сделать маршрутизацию из одной сети в другую на freebsd. Для
>создания маршрутизации nat не нужен.Согласно тем условиям, которые указал, действительно это не очевидно :)
Дело в том, что далее в сети 10.102.104.* стоят шлюзы, которые запрещают ходить пакетам не из их сети, а в с сети 192.168.10.* наоборот стоит шлюз в инет - который тоже натит в инет только пакет из своей сети.
>[оверквотинг удален]
>>
>>Вы хотите сделать маршрутизацию из одной сети в другую на freebsd. Для
>>создания маршрутизации nat не нужен.
>
>Согласно тем условиям, которые указал, действительно это не очевидно :)
>Дело в том, что далее в сети 10.102.104.* стоят шлюзы,
>которые запрещают ходить пакетам не из их сети, а в с
>сети 192.168.10.* наоборот стоит шлюз в инет - который тоже натит
>в инет только пакет из своей сети.
>Тогда только 2 natd на разные divert порты и правила межсетевого экрана