Для запуска natd необходимо произвести следующие действия.
1. Откомпилируйте системное ядро со следующими опциями:
options IPFIREWALL options IPDIVERT |
2. Удостоверьтесь, что хост сконфигурирован как шлюз. Для этого Вы можете либо прописать в файле /etc/rc.conf строку
gateway_enable=YES
либо воспользоваться командой:
sysctl net.inet.ip.forwarding=1
3. В случае использования опции -interface необходимо удостовериться в том, что данный интерфейс предварительно отконфигурирован. Если, например, желательно использовать 'tun0', как в качестве значения аргумента interface, причем на tun0 используется протокол ppp(8), то необходимо отконфигурировать протокол ppp перед запуском natd.
'); //--> |
Запуск natd довольно прост и прозрачен. Так строка
natd -interface ed0
должна удовлетворить в подавляющем большинстве случаев, по крайней мере, если интерфейс ed0 настроен корректно. Необходимо лишь проверить файл rc.conf, как происходит автоматическая настройка интерфейсов в ходе загрузки системы.
Когда natd запущен, нужно удостовериться, что трафик "заворачивается" (перенаправляется) должным образом.
1. Необходимо откорректировать файл управления брандмауером /etc/rc.firewall, введя в него следующие строки:
/sbin/ipfw -f flush /sbin/ipfw add divert natd all from any to any via ed0 /sbin/ipfw add pass all from any to any |
Вторая строка определяет используемый интерфейс; в случае необходимости надо просто заменить 'ed0' на используемый.
2. Активировать брандмауер при помощи установки
firewall_enable=YES
в файле /etc/rc.conf. Это указывает, на необходимость выполнения сценария /etc/rc.firewall при загрузке системы. Если выполнить перезагрузку невозможно, то можно запустить этот сценарий с консоли вручную.
НИКОГДА не следует запускать это с удаленной консоли, если Вы не помещали в фон. Если так сделать, то доступ к удаленной консоли будет заблокирован вследствие удаления правил, разрешающих удаленный доступ. Выполнение сценария в фоне, как правило, достаточно для предотвращения такой аварии.
|
|
|
|