Здравствуйте уважаемые знатоки.
Такая вот ситуация, впервые установил FreeBSD, захотел настроить на нём простейший шлюз, перечитал хэндбук, но ничего в нём по теме не нашёл. Ещё чего-то нашёл, даже ядро пробовал перекомпилить, но ничего не выходит. Не могли бы подсказать самый простой способ создания шлюза на FreeBSD? Желательно с комментариями.
Две сетевухи, одна с DHCP смотрит в инет, вторая в локалку. Карты настроены, локальная с другой машины пингуется. Надо только переброс пакетов устроить... а вот как?
P.S: Извините, я новичок.
Шлюз на FreeBSD
в гугл freebsd+nat В частности для фряхи нужно пересобрать ядро с нужными параметрами и с помощью ipfw (аналог iptables в linux) настроить natd.
подгрузи pf модулем
echo 'gateway_enable="YES"' >> /etc/rc.conf
echo 'pf_enable="YES"' >> /etc/rc.conf
echo 'pf_rules="/etc/pf.conf"' >> /etc/rc.conf
touch /etc/pf.conf
ee /etc/pf.conf
скритп примерно такого содержания:
int_if="внутр интерфейс"
ext_if="внешний интерфейс"
net="внутр сеть типа 10.10.0.0/8"
set optimization normal
set fingerprints "/etc/pf.os"
set block-policy drop
set skip on lo0
scrub in all fragment reassemble
nat on $ext_if from $net to any -> ($ext_if)
block in quick on $ext_if inet proto tcp from any to any flags FUP/FUP
block in quick on $ext_if inet proto tcp from any to any flags SF/SFRA
block in quick on $ext_if inet proto tcp from any to any flags /SFRA
block all
pass out keep state
pass inet proto icmp all icmp-type $icmp_types
pass in on $ext_if proto udp from any to any port { 67 68 }
pass in on $int_if
pass in on $ext_if inet proto tcp from any to any port > 49151 keep state
сохраняем его и
shutdown -r now
после перезагрузки должно работать
в гугл freebsd+nat В частности для фряхи нужно пересобрать ядро с нужными параметрами и с помощью ipfw (аналог iptables в linux) настроить natd.
у него DHCP , с ним корректно работает только pf_nat .
Если статика то проще простого:
в /etc/rc.conf пишем
gateway_enable="YES"
natd_enable="YES"
natd_interface="интернет интерфейс"
firewall_enable="YES"
firewall_type="open"
перезагрузка и усё работает
у него DHCP , с ним корректно работает только pf
Да ну брось. ipfw должен норм работать. От куда такая информация? Когда я работал с FreeBSD и раздовал IP клиентам через DHCP с сиськи, то ipfw с этим справлялся на ура. Хотя это давно было, может чего поломали. У меня тогда и до сих пор, но уже без меня, стояла 6.1
Сам нат ipfw , у меня DHCP , если в firewall_script указать xx0=DHCP , то ничего хорошего, надо через ifconfig смотреть какой ip тебе дали и писать его в правила
[quote=--=XliN=--]в гугл freebsd+nat В частности для фряхи нужно пересобрать ядро с нужными параметрами и с помощью ipfw (аналог iptables в linux) настроить natd.
у него DHCP , с ним корректно работает только pf_nat .
Если статика то проще простого:
в /etc/rc.conf пишем
gateway_enable="YES"
natd_enable="YES"
natd_interface="интернет интерфейс"
firewall_enable="YES"
firewall_type="open"
перезагрузка и усё работает[/quote]
делал первым делом, не работает :(
DHCP у меня только на внешней сетевухе, в локалку пока хочу статику.
И ещё плохо что я уже чего-то наделал, будет ли теперь работать....
с iptables Проще было блин.. пишешь откуда и куда и всё. А вообще для форвардинга фаевол обязательно? Только он умеет это делать?
[quote=sammy][quote=--=XliN=--]в гугл freebsd+nat В частности для фряхи нужно пересобрать ядро с нужными параметрами и с помощью ipfw (аналог iptables в linux) настроить natd.
у него DHCP , с ним корректно работает только pf_nat .
Если статика то проще простого:
в /etc/rc.conf пишем
gateway_enable="YES"
natd_enable="YES"
natd_interface="интернет интерфейс"
firewall_enable="YES"
firewall_type="open"
перезагрузка и усё работает[/quote]
IPFW NAT c DHCP не работает!(корректно)У тебя на natd_interface - DHCP_client висит!!
делал первым делом, не работает :(
IPFW NAT c DHCP не работает!(корректно)У тебя на natd_interface - DHCP висит!!
DHCP у меня только на внешней сетевухе, в локалку пока хочу статику.
И ещё плохо что я уже чего-то наделал, будет ли теперь работать....
с iptables Проще было блин.. пишешь откуда и куда и всё. А вообще для форвардинга фаевол обязательно? Только он умеет это делать?[/quote]
IPFW NAT c DHCP не работает!(корректно)У тебя на natd_interface - DHCP_client висит!!
Можно как-нибудь попроще указать системе перебрасывать пакеты из одной сетевой в другую?
подгрузи pf модулем
echo 'gateway_enable="YES"' >> /etc/rc.conf
echo 'pf_enable="YES"' >> /etc/rc.conf
echo 'pf_rules="/etc/pf.conf"' >> /etc/rc.conf
touch /etc/pf.conf
ee /etc/pf.conf
скритп примерно такого содержания:
int_if="внутр интерфейс"
ext_if="внешний интерфейс"
net="внутр сеть типа 10.10.0.0/8"
set optimization normal
set fingerprints "/etc/pf.os"
set block-policy drop
set skip on lo0
scrub in all fragment reassemble
nat on $ext_if from $net to any -> ($ext_if)
block in quick on $ext_if inet proto tcp from any to any flags FUP/FUP
block in quick on $ext_if inet proto tcp from any to any flags SF/SFRA
block in quick on $ext_if inet proto tcp from any to any flags /SFRA
block all
pass out keep state
pass inet proto icmp all icmp-type $icmp_types
pass in on $ext_if proto udp from any to any port { 67 68 }
pass in on $int_if
pass in on $ext_if inet proto tcp from any to any port > 49151 keep state
сохраняем его и
shutdown -r now
после перезагрузки должно работать
что значит [console]set skip on lo0
[/console]
пока не работает :(
После сего:
1. После запуска системы необходимо делать /etc/netstat
2. Внешняя сетевая карта пингуется с компа в локалке, но внешка не пингуется
3. Вместо "Заданная сеть недоступна" теперь "Превышен интервал..."
Пересобрал ядро в исходное состояние, теперь ничего не пингуется кроме внехи с BSD..
[console]kernel has firewall functionality, but firewall rules are not enabled. All ip services are disabled.[/console]
Я так понял он сообщает что ядро имеет функцию фаервола но она не будет работать.. правильно понял?
что значит [console]set skip on lo0
[/console]
пока не работает :(
не проверять пакеты идущие на lo
Зачем делать netstart?
проверяй ДНС , попробуй зайти куда нить по IP
попробуй в консоли pfctl -f /etc/pf.conf
макросы правильно указал?
покажи pf.conf
http://www.lissyara.su/articles/openbsd/pf/pf/
попробуй в консоли pfctl -f /etc/pf.conf
[console]No ALTQ support in kernel
ALTQ related functions disabled
/etc/pf.conf :18: macro 'icmp_type' not defined
/etc/pf.conf :18: syntax error
pfctl: syntax error in config file: pf rules not loaded[/console]
ALTQ related functions disabled
/etc/pf.conf :18: macro 'icmp_type' not defined
/etc/pf.conf :18: syntax error
сделай так:
ext_if="внешний интерфейс"
net="внутр сеть типа 10.10.0.0/8"
icmp_types="echoreq"
А вот это http://www.freebsd.org/doc/ru/books/handbook/network-natd.html у меня будет работать?
И после этого ещё необходимо ipfw настраивать?.. или я что-то подобное уже пытался делать..

