ZenWay - Linux сегодня!
  • Главная
  • Форум
  • Контакты
  • Архив
  • Гостевая книга
×
Поиск по сайту
ГлавнаяАдминистрированиеДополнительные материалыШлюз в интернет на FreeBSD за полчаса

Шлюз в интернет на FreeBSD за полчаса

Дополнительные материалы, АдминистрированиеПросмотров: 27115Комментарии: 824 июня 2010 г.
Console / Web / Администрирование / Сеть / Учебные материалы

Допустим у нас встала задача быстро развернуть шлюз да выхода в интернет небольшой сети (домашней или небольшого офиса). Фактически задача сводится к установке операционной системы и развёртывании DHCP, DNS и NAT. Далее будет показано как можно быстро и легко решить эту задачу используя ОС FreeBSD 8.0.

Для начала нужно установить ОС на сервер. Ставить систему можно даже с bootonly CD докачивая необходимое по сети. Нужно поставить только самый минимум. Допустим что у сервера два интерфейса: le0, который "смотрит" в интернет и em0, к которому подключена локальная сеть. В локальной сети мы будем использовать пространство 172.31.255.0/24, причём первый адрес (172.31.255.1) будет использоваться сервером.

Первым делом нужно добавить в файл /etc/rc.conf строку:

gateway_enable="YES"

Эта строка при загрузке сервера разрешает пересылку IP-пакетов. Без неё не возможно использование сервера в качестве маршрутизатора. Чтобы это изменение вступило в силу до перезагрузки нужно выполнить команду:

sysctl net.inet.ip.forwarding=1

Следующим шагом сконфигурируем DNS. Сначала нужно в файле /etc/namedb/named.conf заменить строку:

	listen-on	{ 127.0.0.1; };

На:

	listen-on	{ any; };

После этого разрешим запуск DNS-сервера добавив в /etc/rc.conf строку:

named_enable="YES"

И запустим сервис:

/etc/rc.d/named start

Проверить работу DNS-сервера можно командой:

nslookup www.ylsoftware.com 127.0.0.1

В случае нормальной работы DNS вывод должен выглядеть примерно вот так:

Server:		127.0.0.1
Address:	127.0.0.1#53

Non-authoritative answer:
Name:	www.ylsoftware.com
Address: 89.108.78.131

Обновляем дерево портов:

portsnap fetch extract

Затем установим DHCP-сервер:

/usr/ports/net/isc-dhcp31-server && make install clean

Далее создадим файл /usr/local/etc/dhcpd.conf следующего содержания:

default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
log-facility local7;

subnet 172.31.255.0 netmask 255.255.255.0 {
  range 172.31.255.100 172.31.255.200;
  option domain-name-servers 172.31.255.1;
  option domain-name "office.localdomain";
  option routers 172.31.255.1;
  default-lease-time 600;
  max-lease-time 7200;
}

Конфигурация DHCP-сервера более подробно уже была рассмотрена ранее и сейчас останавливаться на ней мы не будем. Для запуска DHCP-сервера нужно добавить в /etc/rc.conf строки:

dhcpd_enable="YES"
dhcpd_ifaces="em0"
dhcpd_flags="-q"

Запускаем DHCP-сервер:

/usr/local/etc/rc.d/isc-dhcpd start

Теперь осталось только настроить пакетный фильтр. Из всего многообразия оных во FreeBSD выберем pf. Создадим файл /etc/pf.rules следующего содержания:

# Базовые настройки
if_ext = "le0"
if_int = "em0"
net_int = "172.31.255.0/24"
set block-policy drop
set state-policy if-bound

scrub all reassemble tcp fragment reassemble

# NAT для локальной сети
nat pass on $if_ext from $net_int -> ($if_ext) static-port

# Запрещаем весь лишний трафик
block drop all

# Разрешаем всё на loopback-интерфейсе
pass quick on lo0 all

# Разрешаем исходящий трафик
pass out quick on $if_ext inet proto tcp from ($if_ext) to any flags S/SA keep state
pass out quick on $if_ext inet proto { udp, icmp } from ($if_ext) to any keep state
pass out quick on $if_int from ($if_int) to $net_int

# Разрешем любой трафик со стороны локальной сети
pass in quick on $if_int from $net_int to any keep state

Добавляем в /etc/rc.conf строки:

pf_enable="YES"
pf_rules="/etc/pf.rules"

Запускаем пакетный фильтр:

/etc/rc.d/pf start

Теперь компьютеры в локальной сети смогут получать сетевые настройки по DHCP и спокойно выходить в сеть. На этом всё. Приятной работы!

Источник

Автор: vovans
Еще записи по теме
ttysys
ttysys
NOD32 for Linux/BSD/Solaris
NOD32 for Linux/BSD/Solaris
SBackup (Simple Backup Suite)
SBackup (Simple Backup Suite)
cfiles
cfiles
GSmartControl
GSmartControl
Stressful Application Test (stressapptest)
Stressful Application Test (stressapptest)

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

1Николай23-03-2011 07:02

Большое спасибо! Это единственная статья по которой получилось настроить шлюз.

2Vasya08-02-2012 14:50

афтар еблан

pass out quick on $if_int from ($if_int) to $net_int полное гавно

и нахира quick пихать во все строчки?

3Vasya08-02-2012 14:53

Елси пишется scrub all то незачем перечислять всё остальное

по нормальному делается scrub IN all

block drop all никто не пишет, это полная лажа

пишут block all, а точнее для отладки block in all

4svet08-02-2012 15:07

ну, передайте это товарищу MooSE :)

Истояник указан же )

5Gera08-02-2012 17:53

Ого! Как Васья сурова высрался =) Наверно опять пургена переел =)

6Вова12-11-2013 16:13

Сделал все точно так как в инструкции - работает! Спасибо.

7Аноним02-03-2021 11:47

Все сделал, нет и все

8vovans02-03-2021 12:29

чего нет?

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

Используйте нормальные имена.

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)

Рубрики
  • Hовости
  • Изучаем Linux
  • Обзоры Linux ПО
    • Hужное/полезное
    • Аудио и видео ПО
    • Графика
    • Офисное ПО
    • Интернет ПО
    • Образовательные
    • Игры
    • Администрирование
    • Системные утилиты
    • Прочие
    • Shareware / Demo
  • Дистрибутивы
  • Дополнительные материалы
Последние комментарии
WHDD
  • Александр » Привет)Ни кто мне не может подсказать, пожалуйста, в чем у меня проблема: хочу проверить флешку...
  • илья » Привет)Ни кто мне не может подсказать, пожалуйста, в чем у меня проблема: хочу проверить флешку...
fbless
  • totiks » Очень понравилась эта утилита, написал простенький скрипт для выбора книжек с помощью peco , чтоб...
MusE - Linux Music Editor
  • Аноним » я её скачал. Ни инстукции, ни мануалов. удалил
  • vovans » Разумно. Тут или понимаешь что делать, или до свидания. Вот так вот ворваться с нуля...
FreetuxTV
  • Алиса » Попробуйте //github. com/yuki-iptv/ yuki-iptv
mlocate
  • Чернь » Да хорош заливать разработчик он с такой грамматикой)))0
GChemCalc
  • Kamil » Установил GChemCalc в системе Rosa Linux, появился значок калькулятора, но калькулятор не запускается. В чем...
  • teelledro » 1.Запустить в терминале и посмотреть на выхлоп лога ошибок;2.Гугли ть ошибку и способ устранения;3.И справить и выпить...
Slackel
  • Аноним » Тех, кто не способен зайти на форум дистра и спросить непосредственно у автора, следует вообще...
Форум
[26/07/2023 11:17:45]
Музыкальный калейдоскоп
[16/07/2023 12:24:19]
LFS
[17/04/2023 10:14:08]
Тестовая бродилка на Си с ChatGPT
[18/11/2022 11:54:52]
vscode and c/c++
[31/08/2022 12:25:53]
Tor Browser
[22/05/2022 15:45:40]
Стратегии RTS
[30/03/2022 09:05:20]
Заметки с синхронизацией
[01/03/2022 20:15:05]
Говорильня (дискуссионный клуб)
[13/02/2022 11:44:28]
[РЕШЕНО] права на запись в примонтированный образ диска (raw.img)
Облако меток
2D338 3D241 ALSA68 ASCII120 Android1 Arch Linux38 Audio416 Backup80 Benchmark78 Bluetooth2 C++969 CD48 Console1318 DJ-система17 DVD47 Debian28 DjVu22 Enlightenment19 FFmpeg191 FLTK29 FPS40 FREE155 FTP18 FVWM21 Fluxbox40 GIMP24 GNU26 GPS22 GTK1302 GUI801 Gambas11 Games686 Gentoo3 Gnome349 Gstreamer133 HDD122 HDR7 HTML62 Hex-редактор14 ICQ17 IP-сети25 IP-телефон22 IRC31 ISO39 IceWM22 ImageMagick56 JACK99 Jabber35 Java308 JavaScript115 KDE209 LAN29 LXDE37 LaTeX66 Live-CD70 Live-DVD55 Live-USB53 Lua61 MATE32 MEncoder31 MIDI91 MMORPG12 Mail42 Markdown53 Mono53 Mplayer75 MySQL2 OSS9 Open Source14 OpenGL301 Openbox89 P2P51 PDF133 PHP12 Pascal17 Perl102 Phonon27 PulseAudio17 Python759 QT894 RAW34 RPG101 RSS53 RTS42 Roguelike70 Ruby19 Rust15 SDL312 SVG39 Screencast32 Screenshot61 Script78 Slackware66 TOR17 TOX3 Tk39 Torrent67 Ubuntu69 VLC16 Vala64 Web629 WebKit72 WebUI34 WiFi47 Window Maker16 Wine8 XMPP35 Xfce70 Xine14 YouTube80 video4linux27 wxWidgets108 Автоматизация31 Администрирование335 Анонимная сеть47 Антивирус14 Апплет120 Аркада235 Архиватор11 Астрономия36 Аудио конвертер70 Аудио редактор50 Аудиоплеер184 Безопасность243 Бизнес-приложение4 Браузер87 Бродилка203 Бухгалтерия11 Веб-камера36 Видео148
© Zen Way, 2023. Работает на MaxSite CMS | Время: 0.1251 | SQL: 15 | Память: 8.73MB | Вход