Ни о чём →
Настройка сервера под FreeBSD в качестве роутера
После базовой установки FreeBSD на сервер или обычный ПК его можно использовать в качестве интернет-шлюза для внутренней (локальной) сети.
Мы рассмотрим настройку интернет-шлюза средствами программы ipnat.
Перед началом работы, советую обновить порты. Таким образом мы получим самую новую версию DHСP-сервер.
Для этого в консоли, предварительно авторизировавшись root-пользователем вводим:
Дожидаемся завершения обновления.
IPNAT по сути уже установлен в базовой системе. Перед запуском ipnat нужно разрешить системе работать с демоном программы. Для этого используя текстовый редактор (например ee) добавим пару строк в файл конфигурации системы. Также мы настроим DHCP-сервер для автоматического назначения IP-адресов клиентам нашего маршрутиризатора.
Это делаем командой:
Затем опускаемся стрелками на клавиатуре в самый низ файла, далее с новой строки пишем:
Эта запись говорит системе, что она будет выполнять функции шлюза (роутера).
Теперь укажем FreeBSD, что переадрессовывать пакеты из интернета в локальную сеть и наоборот будет программа ipnat.
В rc.conf допишем:
Первая строка говорит системе, что разрешен запуск программы ipnat, вторая строчка указывает самой программе, где находится файл конфигураии ipnat.
Теперь правим файл конфигурации ipnat:
По умолчанию этот файл пустой. Пропишем в него параметры переадресации пакетов:
1. map — включает ipnat.
2. sk0 — название сетевого интерфейса для локальной сети (Можно узнать командой ifconfig. В данном примере название произвольное.)
3. 192.168.0.0/24 — диапазон ip-адресов локальной сети (В примере предполагается, что шлюз будет иметь адрес 192.168.0.1. IP-адрес можно указать в файле /etc/rс.conf для каждого сетевого адаптера.)
Осталось только перезагрузить ipnat для применения изменений.
Перезагружаем командой:
Теперь все машины из локальной сети могут выходить интернет через Ваш шлюз. Для этого на компьютерах локальной сети укажите вручную IP-адрес в диапазоне 192.168.0.0/24, маску подсети: 255.255.255.0, в качестве шлюза 192.168.0.1 (То бишь Ваш шлюз), адреса DNS-серверов (Их можно узнать на Вашем шлюзе под FreeBSD командой "
Переадрессация портов из интернета в локальную сеть
Часто необходимо иметь доступ из внешней сети (интернет), к некоторым портам локальной сети.
Возможно у Вас есть сервер игры CS, или FTP/HTTP сервер в локальной сети, и Вам необходимо поделится документами с друзьями или дать возможность другим пользователям поиграть в CS на Вашем сервере.
Если игровой/файловый сервер подключен к настроенному Вами шлюзу под FreeBSD, пользователи получат доступ к ресурсам локальной сети, обращаясь к шлюзу по внешнему каналу. Ваш шлюз будет переадрессовывать запросы из внешней сети в локальную, а ответы из локальной сети отдавать во внешнюю.
Такую возможность предоставляет также программа IPNAT.
Для реализации вышеописанных возможностей переадрессации необходимо в конфигурационный файл ipnat (в конец файла /etc/ipnat.rules) дописать следующее:
1. rdr — переадрессация из 27015 порта внешнего на 27015 порт внутренний
2. re0 — название внешнего сетевого адаптера (Можно узнать командой ifconfig. В данном примере название произвольное.).
3. 0.0.0.0/0 — диапазон адресов для внешней сети (Можно вместо этого указать внешний ip-адрес).
4. port 27015 — номер порта для переадрессации. Для CS: 27015, Для WEB-сервера: 80, Для FTP-сервера: 21.
5. 192.168.0.2 — IP-адрес компьютера (сервера) в локальной сети на который перенаправляются запросы.
6. tcp — протокол интернета. Для CS tcp иди udp, для FTP/HTTP tcp, для WOW both и т.д.
Снова перезагружаем ipnat для применения изменений:
Теперь все пользователи из внешней сети имеют доступ к Вашим локальным ресурсам, обращаясь к внешнему ip-адресу шлюза, указав определенный порт. Настройка IPNAT завершена.
Приступаем к установке и настройку DHCP-севера.
Ставить его будем из портов. Войдя в систему как root, пишем в консоли:
После того, как система установит DHCP-сервер, необходимо в файл /etc/rc.conf добавить записи:
1. dhcpd_enable=«YES» — разрешаем системе работать с демоном DHCP-сервреа.
2. dhcpd_ifaces=«sk0» — укзываем DHCP-серверу, какой сетевой интерфейс он будет обслуживать.
3. sk0 — название сетевого интерфейса для локальной сети (Можно узнать командой ifconfig. В данном примере название произвольное.)
Теперь правим файл конфигурации DHCP-сервера. Создаем его и пропишем параметры для локальной сети:
Прописуем параметры:
1. subnet 192.168.0.0 — начальный IP-адрес для Вашей локальной подсети.
2. netmask 255.255.255.0 — маска для локальной сети.
3. range 192.168.0.2 192.168.0.32 — диапазон IP-адресов для локальной сети.
4. option routers 192.168.0.1 — IP-адрес шлюза для локальной сети. (Вашего сервера.)
Теперь перезагружаем DHCP-сервер командой:
/usr/local/etc/rc.d/isc-dhcpd restart
Готово. Все компьютеры, подключенные к Вашему роутеру под FreeBSD получат автоматически IP-адрес и доступ в интернет.
Мы рассмотрим настройку интернет-шлюза средствами программы ipnat.
Перед началом работы, советую обновить порты. Таким образом мы получим самую новую версию DHСP-сервер.
Для этого в консоли, предварительно авторизировавшись root-пользователем вводим:
portsnap fetch update
Дожидаемся завершения обновления.
IPNAT по сути уже установлен в базовой системе. Перед запуском ipnat нужно разрешить системе работать с демоном программы. Для этого используя текстовый редактор (например ee) добавим пару строк в файл конфигурации системы. Также мы настроим DHCP-сервер для автоматического назначения IP-адресов клиентам нашего маршрутиризатора.
Это делаем командой:
ee /etc/rc.conf
Затем опускаемся стрелками на клавиатуре в самый низ файла, далее с новой строки пишем:
gateway_enable="YES"
Эта запись говорит системе, что она будет выполнять функции шлюза (роутера).
Теперь укажем FreeBSD, что переадрессовывать пакеты из интернета в локальную сеть и наоборот будет программа ipnat.
В rc.conf допишем:
ipnat_enable="YES"
ipnat_rules="/etc/ipnat.rules"
Первая строка говорит системе, что разрешен запуск программы ipnat, вторая строчка указывает самой программе, где находится файл конфигураии ipnat.
Теперь правим файл конфигурации ipnat:
ee /etc/ipnat.rules
По умолчанию этот файл пустой. Пропишем в него параметры переадресации пакетов:
map sk0 192.168.0.0/24 -> 0.0.0.0/0
1. map — включает ipnat.
2. sk0 — название сетевого интерфейса для локальной сети (Можно узнать командой ifconfig. В данном примере название произвольное.)
3. 192.168.0.0/24 — диапазон ip-адресов локальной сети (В примере предполагается, что шлюз будет иметь адрес 192.168.0.1. IP-адрес можно указать в файле /etc/rс.conf для каждого сетевого адаптера.)
Осталось только перезагрузить ipnat для применения изменений.
Перезагружаем командой:
/etc/rc.d/ipnat restart
Теперь все машины из локальной сети могут выходить интернет через Ваш шлюз. Для этого на компьютерах локальной сети укажите вручную IP-адрес в диапазоне 192.168.0.0/24, маску подсети: 255.255.255.0, в качестве шлюза 192.168.0.1 (То бишь Ваш шлюз), адреса DNS-серверов (Их можно узнать на Вашем шлюзе под FreeBSD командой "
cat /etc/resolv.conf
", параметр nameserver. Их там, как правило, два, на клиентах пишем два(если один, то один). Вот собственно и все.Переадрессация портов из интернета в локальную сеть
Часто необходимо иметь доступ из внешней сети (интернет), к некоторым портам локальной сети.
Возможно у Вас есть сервер игры CS, или FTP/HTTP сервер в локальной сети, и Вам необходимо поделится документами с друзьями или дать возможность другим пользователям поиграть в CS на Вашем сервере.
Если игровой/файловый сервер подключен к настроенному Вами шлюзу под FreeBSD, пользователи получат доступ к ресурсам локальной сети, обращаясь к шлюзу по внешнему каналу. Ваш шлюз будет переадрессовывать запросы из внешней сети в локальную, а ответы из локальной сети отдавать во внешнюю.
Такую возможность предоставляет также программа IPNAT.
Для реализации вышеописанных возможностей переадрессации необходимо в конфигурационный файл ipnat (в конец файла /etc/ipnat.rules) дописать следующее:
rdr re0 0.0.0.0/0 port 27015 -> 192.168.0.2 port 27015 tcp
1. rdr — переадрессация из 27015 порта внешнего на 27015 порт внутренний
2. re0 — название внешнего сетевого адаптера (Можно узнать командой ifconfig. В данном примере название произвольное.).
3. 0.0.0.0/0 — диапазон адресов для внешней сети (Можно вместо этого указать внешний ip-адрес).
4. port 27015 — номер порта для переадрессации. Для CS: 27015, Для WEB-сервера: 80, Для FTP-сервера: 21.
5. 192.168.0.2 — IP-адрес компьютера (сервера) в локальной сети на который перенаправляются запросы.
6. tcp — протокол интернета. Для CS tcp иди udp, для FTP/HTTP tcp, для WOW both и т.д.
Снова перезагружаем ipnat для применения изменений:
/etc/rc.d/ipnat restart
Теперь все пользователи из внешней сети имеют доступ к Вашим локальным ресурсам, обращаясь к внешнему ip-адресу шлюза, указав определенный порт. Настройка IPNAT завершена.
Приступаем к установке и настройку DHCP-севера.
Ставить его будем из портов. Войдя в систему как root, пишем в консоли:
cd /usr/ports/net/isc-dhcp31-server
make install clean
После того, как система установит DHCP-сервер, необходимо в файл /etc/rc.conf добавить записи:
dhcpd_enable="YES"
dhcpd_ifaces="sk0"
1. dhcpd_enable=«YES» — разрешаем системе работать с демоном DHCP-сервреа.
2. dhcpd_ifaces=«sk0» — укзываем DHCP-серверу, какой сетевой интерфейс он будет обслуживать.
3. sk0 — название сетевого интерфейса для локальной сети (Можно узнать командой ifconfig. В данном примере название произвольное.)
Теперь правим файл конфигурации DHCP-сервера. Создаем его и пропишем параметры для локальной сети:
ee /usr/local/etc/dhcpd.conf
Прописуем параметры:
option domain-name "kiev.ua"; #kiev.ua - домен для поиска по умолчанию.
option domain-name-servers 0.0.0.1, 0.0.0.2; #0.0.0.1, 0.0.0.2 - сервера имен Вашего провайдера.
option subnet-mask 255.255.255.0; #255.255.255.0 - маска внешней сети. Узнаем командой ifconfig.
default-lease-time 3600; #время жизни кеша запросов
max-lease-time 86400; #максимальное время жизни кеша запросов
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.2;
option routers 192.168.0.1;
}
1. subnet 192.168.0.0 — начальный IP-адрес для Вашей локальной подсети.
2. netmask 255.255.255.0 — маска для локальной сети.
3. range 192.168.0.2 192.168.0.32 — диапазон IP-адресов для локальной сети.
4. option routers 192.168.0.1 — IP-адрес шлюза для локальной сети. (Вашего сервера.)
Теперь перезагружаем DHCP-сервер командой:
/usr/local/etc/rc.d/isc-dhcpd restart
Готово. Все компьютеры, подключенные к Вашему роутеру под FreeBSD получат автоматически IP-адрес и доступ в интернет.
27.06.2010 20:08+0400