Мне кажется, что дело не в шлюзе, а в провайдере. Правда сбивает - почему перезагрузка помогает.
Объясню почему я так считаю. Дело в том, что при обращении к провайдерскому DNS-серверу (10.0.1.1) он отвечает, а значит связь с провайдером есть. Зато если обращаетесь к внешнему гуглоDNS-серверу, то ответа нет.
Хотя тут ещё можно предположить (сеть-то школьная), что интернет получается ещё через какой-то "волшебный" шлюз который всё перекрывает кроме разрешённого, в список которого не входит dns-запросы. А то и вообще закрыт прокси-сервером.
Моё мнение - провайдер. Предлагаю подождать оппонентов, возможно я и ошибаюсь или что-то не досматриваю.
Првда есть замчания и по правилам:
-A PREROUTING ! -d 192.168.0.0/16 -i eth1 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.0.254:3128
-A PREROUTING -i eth1 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128
Фактически выполняют одно и тоже, только вот в первом плюс в том, что фильтруется локальная сеть, а во втором - используется директива REDIRECT (меньшая нагрузка на ядро). Потому предлагаю объединить их "усилия"
-t nat -A PREROUTING ! -d 192.168.0.0/16 -i eth1 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128
Ну и маскарад тоже надо бы поправить
-t nat -A POSTROUTING -o eth0 -j MASQUERADE
Пользователь решил продолжить мысль 12 Декабря 2011, 18:41:38:
И ещё маленьки вопросик
Что это попало в таблицу? (выделено)
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.13.75.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
....
0.0.0.010.13.75.129 0.0.0.0 UG 100 0 0 eth0
0.0.0.1