Включение IP маршрутизации (forwarding)
Материал из База знаний проекта Russian Fedora
Для включения IP форвардинга отредактируйте файл /etc/sysctl.conf:
# Controls IP packet forwarding net.ipv4.ip_forward = 1
Затем вы можете проверить ваши настройки:
/sbin/sysctl -p
Возможно так же временное (до перезагрузки, например) включение транзита трафика командой
echo 1 > /proc/sys/net/ipv4/ip_forward
Ещё один вариант включения постоянного транзита трафика, равнозначный редактированию /etc/sysctl.conf, это в файле /etc/sysconfig/network прописать:
FORWARD_IPV4=YES
Содержание |
Простейший шлюз
Ноут подключен по wi-fi (wlan0 192.168.1.130) к шлюзу 192.168.1.1. К ноуту шнуром подключен комп, которому нужно дать доступ в интернет.
На компе присваиваем IP 192.168.2.2
ifconfig eth0 192.168.2.2
и добавляем маршрут по умолчанию
ip ro add default via 192.168.2.1
На ноуте задаем IP 192.168.2.1
ifconfig eth0 192.168.2.1
маршрут по умолчанию
ip ro add default via 192.168.1.1
и правила файервола
iptables -I FORWARD -s 192.168.2.0/24 -j ACCEPT iptables -I FORWARD -d 192.168.2.0/24 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
Решение временное, при перезагрузке не сохранится.
Примечание: правило, использующее MASQUERADE лучше подойдет для внешнего адреса, назначающегося динамически, так как при пересылке пакетов программа всегда определяет текущий адрес сетевого интерфейса, назначенного прокси (внешним). Для статического же внешнего адреса лучше подойдет использование Source NAT (SNAT):
iptables -t nat -A POSTROUTING -o $IFOUT -s $LANIN/$MASKIN -j SNAT --to $ADROUT
где $IFOUT - внешний интерфейс (например, wlan0), $LANIN/$MASKIN - внуренняя сеть с маской (например, 192.168.2.0/255.255.255.0), $ADROUT - внешний адрес шлюза (например, 192.168.1.130)
Сохранение правил
Для сохранения правил выполнить команду:
# /etc/init.d/iptables save
Правила сохранятся в файле /etc/sysconfig/iptables
Загрузка модулей
Для лучшей работы шлюза со специфическими протоколами, например, ftp, могут понадобиться соответствующие модули (ip_nat_ftp, ip_nat_irc etc), загрузка которых вызывается через файл /etc/sysconfig/iptables-config
