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

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

Дополнительные материалы, АдминистрированиеПросмотров: 26221Комментарии: 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
Еще записи по теме
APTonCD
APTonCD
Vlan в коммутаторах Extreme Networks
Vlan в коммутаторах Extreme Networks
Grub Customizer
Grub Customizer
Fern Wifi Cracker
Fern Wifi Cracker
Flash Image Writer
Flash Image Writer
Almohazzem
Almohazzem

Комментариев: 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

чего нет?

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

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

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

Войти через loginza

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

Рубрики
  • Hовости
  • Изучаем Linux
  • Обзоры Linux ПО
    • Hужное/полезное
    • Аудио и видео ПО
    • Графика
    • Офисное ПО
    • Интернет ПО
    • Образовательные
    • Игры
    • Администрирование
    • Системные утилиты
    • Прочие
    • Shareware / Demo
  • Дистрибутивы
  • Дополнительные материалы
Последние комментарии
Calibre
  • Sergey » Calibre — лучшая программа для создания электронной библиотеки. Особенно радует поддержка плагинов. Кому интересно, посмотрите,...
Gajim
  • vs » удивительно, но оно ещё живо! Версия за версией выходят последние месяцы. Жаль, уже и попробовать...
SeaMonkey 2.53.5.1
  • koll_fell » Подскажите как пользоваться расширением в этом браузере. К примеру установил расширение скриншот, но значка найти...
DeaDBeeF
  • Вячеслав » //www. opennet.ru/ opennews/art. shtml?num=57186 //github .com/DeaDBeeF- Player/deadbeef /commit/d684958 90fab7e3ac63674 df72d8de82a592d 78f// github.com/ DeaDBeeF-Player /deadbeef/ commit/079be264 26e039f56f6331b 9face6eb81360b0 99// github.com/ DeaDBeeF-Player /deadbeef/ issues/2790Уда лены файлы с переводами для русского и белорусского языков (дополнение: поддержка белорусского языка восстановлена).
  • vovans » Поэтому ушёл с него. Отсутствия перевода и не заметил, так как локаль en, но само...
Profanity
  • а » главное мануала на руском нет . ткч полное г
Photivo
  • Владимир » к сожалению не ставится на убунту 20.04E: Невозможно найти пакет photivoдаже после добавления ppa
Flacon
  • Андрей » Бомбическая программа. Респект Александру!
  • vovans » Обновил ссылки. Уже версия 9.0 доступна. Отлитчно, что развивается проект.
FBReader
  • gray » а автоскролл?
Форум
[22/05/2022 15:45:40]
Стратегии RTS
[30/03/2022 09:05:20]
Заметки с синхронизацией
[11/03/2022 13:17:30]
Музыкальный калейдоскоп
[01/03/2022 20:15:05]
Говорильня (дискуссионный клуб)
[13/02/2022 11:44:28]
[РЕШЕНО] права на запись в примонтированный образ диска (raw.img)
[07/02/2022 13:22:01]
Конвертировать текст набаранный в неправильной раскладке
[04/02/2022 20:35:22]
Редактор тегов
[16/01/2022 16:57:55]
Tor Browser
[24/12/2021 13:55:56]
Арче з@дница, и что с этим делать?
Облако меток
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, 2022. Работает на MaxSite CMS | Время: 0.1139 | SQL: 15 | Память: 8.77MB | Вход