пятница, 3 июля 2009 г.

Настройка сети

Я оказался непоследователен описав в предыдущем посте как работать с портами, не рассказав как настроить работу сети, а без этого работа с портами врят ли возможна. Конечно, можно использовать исходники поставляемые в составе дистирбутива FreeBSD, но врят ли они будут последних версий.

Ежели вы устанавливали ось с использованием сетевого загрузчика (что в современных условиях часто оправдано), то как минимум один интерфейс у вас должен быть уже сконфигурирован. Вообще говоря, настройки сетевых карт, которые подхватываются при загрузке находятся в файле /etc/rc.conf и выглядят примерно таким образом:

ifconfig_fxp0="inet 84.246.77.15 netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.0.55 netmask 255.255.255.0"

гду fxp0 - внешний интерфейс, rl0 - внутренний. В данном примере сервер является шлюзом между сетью интернет и внутренней сетью. Поэтому для того, чтобы внутренние пользователи могли получить доступ к сети Интернет, на сервере необходимо сконфигурировать службу NAT. Для этого в rc.conf необходимо добавить следующие строки:

defaultrouter="84.246.77.1" - указываем роутер для отправки пакетов в инет (выдается провайдером)
gateway_enable="YES" - указываем, что наш сервер является шлюзом

ipnat_enable="YES" - включаем систему натирования, которая будет автоматически загружаться
ipnat_program="/sbin/ipnat -CF -f" - флаги -CF очищают таблицу правил NAT, а -f указывает, чт нужно загрузить правила из файла
ipnat_rules="/etc/ipnat.rules" - путь к файлу с правилами
ipnat_flags=""

Теперь при перезагрузке системы NAT будет подниматься автоматически. Осталось составить таблицу правил натирования и сохранить её в файл /etc/ipnat.rules. В простейшем случае она будет состоять из одной строки:

map fxp0 192.168.0.0/24 ->85.249.77.16/32

то есть при запросах из подсети 192.168.0.0/24 в интернет пакетам будет присваиваться адрес отправителя 85.249.77.16/32. Конечно же будет производиться и обратная трансляция адресов.

Если необходимо чтобы при коннекте из внешней сети на определенный порт внешнего интерфейса можно было попасть на определенный порт какой-то конкретной машины во внутренней сети, то можно организовать проброс порта строкой следующего вида:

rdr fxp0 0.0.0.0/0 port 26000 -> 192.168.0.10 port 26000 tcp

Более подробно про составление правил можно почитать в файлах из папки /usr/share/examples/ipfilter/. Осталось только стартануть ipnat командой

/etc/rc.d/ipnat start

и при необходимости после этого использовать команду

/sbin/ipnat -CF -f /etc/ipnat.rules

Все, система работает. Однако, в случае если у вашего провайдера идет привязка сетевых карт по MAC-адресу, а вам необходимо её заменить, то установить MAC-адрес на сетевой карте програмным путем можно с помощью команды вида:

ifconfig fxp0 ether 10-0F-3D-1A-E3-45

На этом вроде все.

0 коммент.:

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