Добрый день.
Почитал тему, попробовал совет из первого поста.
Систему выбрал Ubuntu 8.04 Desctop (необходимо иногда за ней еще работать, все-таки домашняя же сеть), вот ситуация с интерфейсами сетевыми:
eth0 - районная сеть с халявой 10.0.0.0/8
eth1 - локальная сеть 172.6.0.0/24
ppp0 - выход в инет через PPPoE со статическим внешним IP, работает поверх eth0.
политика по умолчанию - DROP для всех таблиц, кроме OUTPUT - изнутри можно все.
После установки по рецепту из первого поста - в правилах iptables поднималась пересылка в том числе и из eth0 в eth1 и много чего еще странного. Пришлось снести ipmasq и dnsmasq и создать файлик с правилами для iptables вручную.
Все вроде писал как в разных статьях и мануалах, прописал и в /etc/sysctl.conf ipforward = 1, и в echo "1" > /proc/sys/net/ipv4/ip_forward
но не работает форвардинг пакетов. Сам сервер всех видит, компы из eth1 тоже его видят, но в интернет/сеть он никого не пускает. В чем косяк? Что почитать еще?
Вот команды, которые ввожу сейчас:
#Удалить все из таблиц:
sudo iptables -X # пользовательские цепочки
sudo iptables -F #стандартные цепочки
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -X
sudo iptables -t mangle -F
# Установка политик по умолчанию
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
#включить форвардинг(выполнять только в режиме root):
echo "1" > /proc/sys/net/ipv4/ip_forward
#приемка пакетов для уже существующих соединений из всех сетей:
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Настройка работа eth1:
# Разрешаем работать с локальной сетью в режиме полный доступ:
sudo iptables -A INPUT -i eth1 --source 172.16.0.0/24 -j ACCEPT
#Разрешаем работу форвардинга в локальную сеть и из нее:
sudo iptables -A FORWARD -i eth1 --source 172.16.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -i eth0 --destination 172.16.0.0/24 --match state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD -i ppp0 --destination 172.16.0.0/24 --match state --state ESTABLISHED,RELATED -j ACCEPT
# Включаем маскарадинг (для сетей eth0, ppp0 должен работать NAT, т.е. как будто сети eth1 не существует):
sudo iptables -t nat -A POSTROUTING -o -ppp0 -s 172.16.0.0/24 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o -eth0 -s 172.16.0.0/24 -j MASQUERADE
Спасибо!