Персональный | |
Как подсоединить сеть к Интернету, имея всего один реальный адрес
21.12.1999
Это делается с помощью трансляции сетевых адресов network
address translation (NAT). Заключается она в следующем.
Допустим, у нас есть внутренняя сеть 192.168.1.0, а
провайдер выделил нам один адрес 10.0.0.1.
Предположим, мы хотим установить TCP-соединение с адреса 192.168.1.1
и порта 2000 на адрес 10.0.2.1 и порт 80.
Для этого мы посылаем TCP-пакет с адресом и портом отправителя
192.168.1.1:2000 и адресом и портом получателя 10.0.2.1:80.
При выходе из интерфейса
ppp0
придёт пакет с 10.0.2.1:80 на 10.0.0.1:3000, мы оттранслируем его
на 192.168.1.1:2000.
Для FreeBSD существует два пакета, делающие NAT options IPFIREWALL options IPFIREWALL_VERBOSE options "IPFIREWALL_VERBOSE_LIMIT=100" options IPDIVERT
Как это сделать, Вы можете прочитать по-английски во FreeBSD
Handbook или по-русски на
странице Ивана Паскаля.
После того, как новое ядро собрано, необходимо изменить в файле
firewall_enable="YES" firewall_type="open"
Теперь можно приступить к конфигурации same_ports yes use_sockets yes redirect_port tcp 192.168.1.5:25 25 redirect_port tcp 192.168.1.6:80 80
Первая строка указывает
И опять нам необходимо изменить файл natd_enable="YES" natd_interface="ppp0" natd_flags="-f /etc/natd.conf"
После этого можно перегрузить компьютер.
При старте системы natd -f /etc/natd.conf -n ppp0
Поскольку
Если провайдер выделил динамический адрес, то
в файл иdynamic yes same_ports yes use_sockets yes redirect_port tcp 192.168.1.5:25 25 redirect_port tcp 192.168.1.6:80 80 natd будет отслеживать адрес, назначаемый
интерфейсу ppp0 и менять трансляцию.
(C) Игорь Сысоев |