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 Ок. Спасибо за разъяснение Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.