Документация по ОС FreeBSD
Пятница, 28.11.2025, 06:00
Главная
Регистрация
Вход
Приветствую Вас
Гость
|
RSS
Меню сайта
Главная страница
Новости в мире Unix
NEW
Каталог файлов
NEW
Установка и настройка
Ports & Packages
cvs
Безопасность
Работа с железом
X Window
Multimedia
Man pages
Net
Apache
DNS
FTP
Mail
Samba
Squid
SSH
VPN
РРР
Shell
IPFW
Tips'n'tricks
RFC
Книги по FreeBSD
Темы экзамена BSDA
Гостевая книга
Форум на bsdportal.ru
Каталог сайтов
Самый свежий софт
Каталог ссылок
Категории каталога
Apache
[58]
DNS
[25]
FTP
[27]
Mail
[74]
Samba
[24]
Squid
[46]
SSH
[23]
VPN
[35]
РРР
[20]
Net
[173]
Главная
»
Статьи
»
Сеть
»
Net
Канал Yota (WiMax) и NAT на FreeBSD [2011]
Задача
Обеспечить функционирование второго канала (backup) в Интернет для офиса при использовании канала от Yota.
Для обеспечения NAT`а возьмем ng_nat.
Железо
USB-модем Samsung SWC-U200
Сервер FreeBSD 8.2-STABLE
Реализация
Для USB-модемов Samsung SWC-U200 и Samsung SWC-E100 в портах появились userland-драйвер, находящийся в /usr/ports/net/lvwimax.
Инсталлируем их обычным способом:
# cd /usr/ports/net/lvwimax/
# make install clean
Перезапускаем демон отслеживания изменения состояния устройств:
# /etc/rc.d/devd restart
Для автостарта драйвера при загрузке системы добавим в /etc/rc.conf:
lvwimax_mac_address=»60:D0:A9:XX:YY:ZZ»
lvwimax_enable=»YES»
где 60:D0:A9:XX:YY:ZZ – MAC адрес USB-модема (его можно посмотреть либо на коробочке либо в личном кабинете).
Для логгирования отладочной инфы в отдельные файлы в начало /etc/syslog.conf следует добавить:
local6.err /var/log/lvwimax_err.log
local6.info /var/log/lvwimax_info.log
local6.debug /var/log/lvwimax_debug.log
Создать файлы лога:
# touch /var/log/lvwimax_err.log
# touch /var/log/lvwimax_info.log
# touch /var/log/lvwimax_debug.log
и перезапустить syslogd:
# /etc/rc.d/syslogd restart
Загружаем модули ядра для работы NAT:
# kldload ng_ipfw
# kldload ng_nat
Для загрузки модулей при старте системы добавим в /boot/loader.conf:
ng_ipfw_load=»YES»
ng_nat_load=»YES»
dhclient вызывает скрипт конфигурации сетевых параметров - dhclient-script, который после конфигурирования сетевого интерфейса смотрит, есть ли файл с именем /etc/dhclient-exit-hooks. Если файл находится, то он запускается на исполнение.
Этим мы и воспользуемся для изменения конфигурации NAT после получения IP-адреса по DHCP от провайдера.
Создадим файл /etc/dhclient-exit-hooks с содержанием:
#!/bin/sh
if [ "$reason" = "REBOOT" -o "$reason" = "BOUND" -o "$reason" = "RENEW" -o "$reason" = "REBIND" ]; then
ipfw -q delete 410
ipfw -q delete 420
ipfw -q delete 430
if ngctl show Yota_nat: >/dev/null 2>&1; then
/usr/sbin/ngctl shutdown Yota_nat:
echo "Destroy old nat config was complete" >>/var/log/dhc.log
fi
/usr/sbin/ngctl mkpeer ipfw: nat 70 out
/usr/sbin/ngctl name ipfw:70 Yota_nat
/usr/sbin/ngctl connect ipfw: Yota_nat: 80 in
/usr/sbin/ngctl msg Yota_nat: setaliasaddr $new_ip_address
echo "Create nat config was complete" >>/var/log/dhc.log
ipfw -q add 410 netgraph 80 ip from any to $new_ip_address via tap0 in
ipfw -q add 420 netgraph 70 ip from table"(99)" to any via vlan10 in
ipfw -q add 430 fwd $new_routers ip from $new_ip_address to any
echo "Apply ipfw rules for nat was complete" >>/var/log/dhc.log
fi
Сделаем скрипт исполняемым:
# chmod a+x /etc/dhclient-exit-hooks
В нем вся «магия» по управлению конфигурацией NAT при изменении адреса после работы dhclient’a:
удаление старых правил ipfw, удаление старой конфигурации NAT, создание новой конфигурации NAT, применение новых правил ipfw.
При этом маршрут по умолчанию не изменяется.
Вставляем USB-модем в сервер и в путь:
# /usr/local/etc/rc.d/lvwimax start
Смотрим в ifconfig для проверки наличия интерфейса и полученного по DHCP IP-адреса:
tap0: flags=8843 metric 0 mtu 1386
options=80000
ether 60:d0:a9:f9:4a:74
inet6 fe80::62d0:a9ff:fef9:4a74%tap0 prefixlen 64 scopeid 0x12
inet 10.184.244.147 netmask 0xfffffc00 broadcast 10.184.247.255
nd6 options=3
Opened by PID 63322
Осталось в table(99) поместить хосты или подсети для доступа в интернет через Yota.
Источник:
http://subnets.ru/blog/?p=1997
Категория:
Net
| Добавил:
oleg
(14.09.2011) | Автор:
Панфилов Алексей (lehis (at)
Просмотров:
924
| Рейтинг:
0.0
/
0
|
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Всего комментариев:
0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]
Форма входа
Друзья сайта
Google+
Copyright MyCorp © 2025