Отступление 1.
Имеется компьютер-шлюз с двумя интерфейсами, один из которых смотрит на провайдера и поддерживает по нему ppp-соединение, другой -- в маленькую подсеть вида 192.168.0.0/24 и адресом 192.168.0.1, и ubuntu 10.04 на борту.
Для того, чтобы доставлять интернет в 192-ю сеть, разрешается форвардинг пакетов в через правку /etc/sysctl.conf, ставится dnsmasq, в автозагрузку (a.k.a. rc.local) добалвяются правила для маскарадинга пакетов на каждый компьютер, находящийся в 192-й подсети. В общем-то всё более или менее стандартно, после установки новой системы всё донастраивается за 5 минут.
На клиентских компьютерах шлюзом и днс-сервером указывается 192.168.0.1
Отступление 2.
На время модернизации основного системника шлюзом был поставлен старый пенёк четвёртый, на него закинул ubuntu, русификацию, пару плееров, кодеки, оперу, настроил интернет и его раздачу в локалку.
Всё работало, я потихоньку ковырял основной системник, когда закончил с железом -- поставил ту же Ubuntu и чёртову кучу софта (гимпы, инскейпы и прочее, прочее...), включил сенсоты, настроил вентиляторы fancontrol'ом, ну и так, по мелочи...
Когда старенькая жестянка-сороковка на старом пеньке начала выкидывать ошибки чтения при коротком смарт-тестировании, решил, что надо бы поторопиться и поменять сис. блоки местами. Вроде чего: выключить один, включить второй, поменять чуть-чуть настройки сети и всё. Дел на полчаса максимум. Но вот здесь и начались грабли.
Собственно проблема.
После того, как всё вроде настроил (не в первый раз делаю, поэтому всё быстро), получаю результат: инет на шлюзе есть, на клиентских машинах нет. Пинги до серверов проходят, веб-трафик проходит выборочно до 3-4 сайтов. Что за...?
Перепроверял 5 раз настройки, менял местами и заменял целиком сетевые карты, удалил в дополнение к avahi безвинного network-manager'а, ufw (в своё время показалось, что чем-то мешал). "Проразвлекался" полдня, уплевался, всё надоело...
Решил попробовать подцепить к новому компу сбойную жестянку по usb, на которой настроенная бUbuntu находится. Загрузился, и... оно работает!
Помогите разобраться, что может блокировать проходящий трафик? Вариант "переустанови и радуйся" может и подошёл бы, да хочется узнать, что может мешать для избежания подобных случаев в дальнейшем.
Решено: почему-то при запуске pppoeconf не добавилось правило iptables -A FORWARD -t mangle -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
После добавления в автозагрузку всё заработало.