Показать полную графическую версию : NAT
Хочу чтобы НАТ работал по двум интерфейсам. Скажем по fxp1 и gif0. Возможно такое?
EmeJIbka
24-11-2003, 18:27
Конечно ! Когда правила для ната пишешь, там срфзу интерфейс и указываешь (via fxp1).
EmeJIbka
Правила для НАТа в natd.conf ты имеешь в виду?
Видимо ты меня не понял. Я хочу чтобы пакеты заворачивались с разных интерфейсов (т.е. из совершенно отличных друг от друга сетей). и это должно происходить одновременно.
Что мне в natd.conf пистаь?
interface fxp1
interface gif0 ?????
по-моему он меня просто не поймет.
EmeJIbka
25-11-2003, 15:57
Какой natd.conf ? Я же про ipfw, как работать нату указывают правила в ipfw, там пишешь что через чего и куда заворачивать, по каким интерфейсам.
EmeJIbka
Помоги нат настроить. Я уже все пальцы об клаву истер, настраивая его.
Делаю все вроде бы так как надо, а он гад все-равно не работает.
в rc.conf прописал
firewall_enable="YES"
firewall_script=''/etc/rc.firewall"
firewall_type="здесь мой тип"
natd_enable="YES"
natd_interface="rl0"
natd_flags="-f /etc/natd.conf"
gateway_enable="YES"
router_enable="YES"
в natd.conf
same_ports yes
use_sockets yes
в rc.firewall
case ${firewall_quiet} in
[Yy][Ee]
* * *fwcmd=''/sbin/ipfw -q"
* * *;;
*)
* * * fwcmd=''/sbin/ipfw"
* * *;;
esac
####
${fwcmd} -flush
...
[мой тип]
${fwcmd} add divert natd tcp from any to any via rl0
P.S. Ядро сконфигурировано с опциями
IPDIVERT и т.д. все как надо
[s]Исправлено: Negativ, 9:26 27-11-2003
Исправлено: Negativ, 9:27 27-11-2003
EmeJIbka
27-11-2003, 16:24
Хелло, еверибоди :)
Тут такая фияа - если почитать ман по ipfw, не сложно понять, что пакеты обрабатываются как входящие, так и исходящие, поэтому у тебя ничего и не работает (вернее проходят тока исходящие пакеты).
Вот тебе кусок рулесов:
ipfw add 10 divert natd ip from $твоя_подсеть to any out xmit fxp1
ipfw add 20 divert natd ip from any to $IP_fxp1
Вот так всё должно работать.
добавил я правила
ipfw add 10 divert natd ip from 192.168.11.0/24 to any out via rl0
ipfw add 20 divert ip from any to 81.18.*.* via rl0
все-равно не работает
на клиентской машине шлюз прописан. (это если вдруг вопрос возникнет)
xmit - это что?
в чем разница между via и xmit
EmeJIbka
28-11-2003, 10:23
Второй via вроде как добавлять не надо.
А в логах то natd чего пишет ?
EmeJIbka
Да в логах все нормально. Только вот лог sequrity меня смущает.
пишет что запрещает tcp пакеты на теадреса на которые я пытаюсь выйти через нат. Но дело в том что в rc.firewall таких правил нет вообще. Есть только запрещающие log а запрещающих tcp нет. Может я чего-то недопонимаю. Объясни. Я уже целую неделю над ним пыхтю.
EmeJIbka
29-11-2003, 07:47
Вот те руководство :
первой - давай сюды ipfw sh
второе - в /usr/local/etc/rc.d/ создаешь исролняемый (ipfw.sh) файлик примерно следующёего водержания :
#!/bin/sh
ipfw='/sbin/ipfw -q'
${ipfw} add 10 divert natd ip from 192.168.11.0/24 to any out xmit fxp1
${ipfw} add 20 divert ip from any to 81.18.*.*
${ipfw} add 30 allow log ip from any to any
Убеждаемся, что всё работает :)
ZloiJoker
01-12-2003, 14:53
Может кто еще рульную статью по этому делу подскажет ? (а то я в книжки главу прочитал по этой теме, но что то как то маловато.. )
EmeJIbka
Спасибо за советы. Я разобрался во всем сам.
В файле rc.firewall
были правила
${ipfw} add log all from any to ...номера портов... и т.д.
убрал все заработало
ZloiJoker
если ты имеешь в виду настройку на FreeBSD natd+ipfw то вот те ссылы
http://www.nt.com.ua/info/ipfw/ar01s02.shtml
http://www.nt.com.ua/info/ipfw/ar01s05.shtml
http://www.opennet.ru - Здесь много чего интересного
EmeJIbka
И все-таки. Мой главный вопрос так и остался неразрешимым.
Repeat:
у меня есть:
интерфейс rl0 - интеренет
интерфейс gif0 - VPN по радиоканалу (соединяет две локалки 1 и 2)
интерфейс xl0 - локалка
Я хочу с помощью NAT'а сделать так чтобы юзеры 1 локалки могли лазить в локалку 2. Но у меня уже есть НАТ на инет (rl0).
Как мне это сделать?
Мне подсказали что нужно типа два ната запустить с разными pid'ами. И соответственно повесить их в rc.conf на разные интерфесы. Если это возможно то как это реализовать? Или предложите свой вариант.
Исправлено: Negativ, 15:39 3-12-2003
может это спасет тебя?
http://www.artmagic.ru/labs/short/ipfw-iptables.shtml
archy
Спасибо! Это то что надо! =)
ZloiJoker
04-12-2003, 21:18
ipfw add 10 divert 8868 10.0.1.0/24 to any out xmit ed0
ipfw add 20 divert 8868 from any to 195.1.1.1
ipfw add 30 divert 8869 10.0.2.0/24 to any out xmit ed1
ipfw add 40 divert 8869 from any to 195.1.1.2
Что значит правило:
xmit ?
И сколько же в этом примере карточек у сервера ?
195.1.1.1 - смотрит в одну сеть
195.1.1.2 - смотрит в другую сеть
3 _ я которая смотрит в инет
Правильно ? :()
ZloiJoker
1. Про xmit
ipfw add count tcp from any ftp\\-data-ftp to any
Фрагментированные пакеты, которые имеют ненулевое смещение (такие как, например, первый фрагмент), никогда не будут соответствовать правилу, в котором указана одна или более установок порта. См. опции фрагментов для более подробной информации о соответствии фрагментированных пакетов.
interface-spec
Допускаются следующие комбинации спецификации интерфейсов:
in - только для входящих пакетов;
out - только для исходящих пакетов;
via ifx - пакет должен быть пропущен через интерфейс ifx;
via if* - пакет должен быть пропущен через интерфейс ifX, где X - любой номер устройства;
via ipno - пакет должен быть пропущен через интерфейс, IP-address которого ipno.
Указание ключевого слова via всегда заставляет проверять интерфейс. Если указаны ключевые слова recv или xmit, то это тоже заставляет всегда проверить интерфейс. Определяя передающий и принимающий интерфейсы, есть возможность выбрать пакеты, основанные как на том, так и на другом интерфейсе, например:
ipfw add 100 deny ip from any to any out recv ed0 xmit ed1
Интерфейс recv может быть проверен или на входящие, или на исходящие пакеты, в то время как интерфейс xmit может быть проверен только на исходящие пакеты. Так out требуется (и в недопустимых случаях) всякий раз, когда используется xmit. Сочетание via вместе с xmit или с recv недопустимо.
взято с http://www.opennet.ru
2. Карточек может быть и две, но на 1 ip может быть несколько интерфейсов, которые смотрят в разные сети. У меня, например, на адресе 192.168.10.11 работает два интерфеса xl0 и gif0. первый смотрит в локалку второй смотрит в VPN (через туннель).
Вот те пример моего rc.conf чтоб понятней было
network_interfaces="auto"
ifconfig_xl0="inet 192.168.10.11 netmask 255.255.255.0"
ifconfig_rl0="inet 172.16.1.5 netmask 255.255.255.*"
ifconfig_gif0="192.168.11.11 netmask 255.255.255.0 192.168.10.11 netmask 255.255.255.0"
gif_interfaces="gif0"
gifconfig_gif0="172.16.1.5 172.16.1.6"
*
Исправлено: Negativ, 11:30 5-12-2003
Исправлено: Negativ, 11:38 5-12-2003
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.