Dimnet Опубликовано 17 февраля, 2007 Жалоба Опубликовано 17 февраля, 2007 Надо было поднять НАТ на машине. Сконфигурировал ядро всё как надо, собрал iptables, пишу правила: iptables -I FORWARD -i eth0 -d 192.168.0.9 -j REJECT iptables -A FORWARD -i eth0 -s 192.168.0.9 -j ACCEPT iptables -A FORWARD -i wlan0 -d 192.168.0.9 -j ACCEPT iptables -t nat -A POSTROUTING -o wlan0 -j SNAT --to-source 10.0.0.1 echo 1 > /proc/sys/net/ipv4/ip_forward Где eth0 смотрит во внутреннюю сеть которую нужно "маскировать". Иду в ребут... Пакеты начинают проходить, вроде всё работает. Удаляю правило iptables -t nat -D POSTROUTING -o wlan0 -j SNAT --to-source 10.0.0.1 пакеты не проходят опять добавляю тоже правило: iptables -t nat -A POSTROUTING -o wlan0 -j SNAT --to-source 10.0.0.1 Пакеты не идут. Если перегрузиться то всё заработает. Это вообще нормально? Я всё правильно делаю? пробовал на 3-х разных ядрах (2.6.18-20) всё также. Как то он странно сам по себе работает. Иногда делаю iptables -t nat -F; iptables -F а пакеты продолжают проходить. Где ошибка? И чё то вообще делать? Gentoo 2006.1 Цитата
Byte Опубликовано 19 февраля, 2007 Жалоба Опубликовано 19 февраля, 2007 прописать правило iptables -A OUTPUT -p ALL -j LOG --log-level 5 --log-tcp-option --log-ip-option --log-prefix "IPTABLES " iptables -A FORWARD -p ALL -j LOG --log-level 5 --log-tcp-option --log-ip-option --log-prefix "IPTABLES " iptables -t nat -A POSTROUTING -p ALL -j LOG --log-level 5 --log-tcp-option --log-ip-option --log-prefix "IPTABLES " и смотреть чего пишет в /var/log/messages Цитата
Dimnet Опубликовано 23 февраля, 2007 Автор Жалоба Опубликовано 23 февраля, 2007 Такая закономерность: Пингую из под винды - всё работает; Удаляю правило - не проходят пакеты; Добавляю правило - не проходят; Меняю адрес пинга и всё работает, через пару минут пингуется и старый адрес. Кто неть оъяснит чё к чему? Цитата
Ineu Опубликовано 23 февраля, 2007 Жалоба Опубликовано 23 февраля, 2007 Dimnet писал(а) Fri, 23 February 2007 13:44 Такая закономерность: Пингую из под винды - всё работает; Удаляю правило - не проходят пакеты; Добавляю правило - не проходят; Меняю адрес пинга и всё работает, через пару минут пингуется и старый адрес. Кто неть оъяснит чё к чему? Читайте хауту и man iptables, в них много полезных вещей. Например, там сказано, что в таблицу nat попадает только первый пакет из потока. Поскольку icmp - протокол без поддержки сессий, то однозначно определить, тот ли это поток или нет, невозможно. Поэтому используются таймауты. Соотв. новое правило вступит в действие только тогда, когда истечет таймаут для существующего потока. А пинг на новый адрес - соотв. новый поток, поэтому работает сразу. Цитата
Dimnet Опубликовано 25 февраля, 2007 Автор Жалоба Опубликовано 25 февраля, 2007 Ок. Спасибо за разъяснение Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.