Поиск по этому блогу

вторник, 24 марта 2009 г.

Пускаем локальную сеть в нет при помощи FreeBSD-шлюза

Поднимал недавно интернет-шлюз для того чтобы пускать локальную сеть в мир. В качестве железа взял старенький Celeron 800, с материнкой на i815, 128 + 256 памяти. Винчестера в наличии небыло поэтому решил идти в ногу со временем и поставить свеженькую FreeBSD 7.1 на флешку как описано здесь и по подобным мануалам. Таким образом FreeBSD удалось установить даже на фотоаппарат и загрузить с него ноут :), а вот старенький комп грузится с флешки категорически отказывался. Пришлось купить б/у винчестер WD на 20Гб.
Поднятие NAT на PF и кеширующего DNS не составило особого труда.

Конфиги на память.

rc.conf

saver="fire"
sshd_enable="YES"
named_enable="YES"
inetd_enable="YES"
pf_enable="YES"
gateway_enable="YES"
apm_enable="YES"
#############################################################################
# localization
#############################################################################
keymap=ru.koi8-r
keychange="61 ^[[K"
scrnmap=koi8-r2cp866
font8x16=cp866b-8x16
font8x14=cp866-8x14
font8x8=cp866-8x8
#############################################################################

ifconfig_rl1="inet xxx.xxx.xxx.xxx netmask 255.255.255.0"

ifconfig_rl0="inet xxx.xxx.xxx.xxx netmask 255.255.255.0"
defaultrouter="yyy.yyy.yyy.yy"

pf.conf

ext_if="rl0"
int_if="rl1"

set block-policy drop

scrub in all
scrub min-ttl 64
scrub in on $ext_if all fragment reassemble

nat on $ext_if from any to any -> ($ext_if)

block all
pass quick on $int_if all
pass out quick on {$ext_if} all keep state
pass on lo0 all #может и не совсем коректно, но нужно чтобы и сама фря использовала свой кеширующий DNS

resolv.conf

nameserver 127.0.0.1

/var/named/etc/namedb/namedb.conf

Подправляем и не забываем раскоментировать секцию forwarders, должно получиться что-то похожее:

forwarders {
yyy.yyy.yyy.yyy;zzz.zzz.zzz.zzz;
};


Вообщем все просто и без извращений.

Комментариев нет:

Отправить комментарий