IP-маскарад (для версий ядра 2.0)
Очень многие имеют обычное сеансовое подключение к интернет, при котором интернет-провайдер выделяет только один IP-адрес. При этом в интернет можно работать только с одной машины. IP-маскарад -- трюк, позволяющий нескольким машинам одновременно использовать один IP-адрес, при этом с точки зрения внешних машин выглядеть как одна машина. Правда такая конфигурация работает только "в одну сторону" -- маскарадящиеся машины могут обращаться к любым машинам в интернет, но сами при этом остаются недоступными для входящих соединений. Это означает, что некоторые из сетевых сервисов просто не будут работать (например talk), а некоторые (например ftp)должны быть специально настроены на "пассивный" (PASV) режим работы. К счастью, наиболее распространенные сервисы, такие как telnet, www и irc работают нормально.
Опции компиляции ядра:
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers Networking options --->
[*] Network firewalls .... [*] TCP/IP networking [*] IP: forwarding/gatewaying .... [*] IP: masquerading (EXPERIMENTAL)
Настройте машину, поддерживающую PPP- или slip-соединение как обычную (не маскарадящую) машину. Кроме того, на этой машине должно быть еще одно сетевое устройство (как правило ethernet), через которое оно подключено к внутренней сети. Настройте эту сеть с использованием адресов из одной из зарезервированных сетей. На всех машинах укажите подключенную к интернет машину в качестве маршрутизатора.
Как правило, сеть имеет такую структуру:
- - \ | 192.168.1.0 \ | /255.255.255.0 \ --------- | | | Linux | .1.1 | NET =================| masq |------| | PPP/slip | router| | -------- / --------- |--| host | / | | | / | -------- - -
Маршрутизатор настраивается следующими командами:
# Маршрутизация для локальной сети route add -net 192.168.1.0 netmask 255.255.255.0 eth0 # # Маршрут по умолчанию route add default ppp0 # # Маскарадить все машины в сети 192.168.1/24 ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
Для минималистов, или тех, кому лень набивать много команд предлагаем следующую команду, которая будет работать для машины с двумя интерфейсами (все проходящие пакеты должны маскарадится).
root# /sbin/ipfwadm -F -a accept -m
Более подробную информацию об IP-маскараде вы можете получить на . Очень подробным документом об IP-маскараде, в котором описано, как настраивать другие операционные системы на работу с IP-маскарадом Линукса, является ``IP-Masquerade mini-HOWTO''.