Форум русскоязычного сообщества Ubuntu


Автор Тема: Проблема с форвардингом пакетов Ubuntu  (Прочитано 869 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DarkArchangel

  • Автор темы
  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Отступление 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
После добавления в автозагрузку всё заработало.
« Последнее редактирование: 18 Октябрь 2011, 17:58:35 от DarkArchangel »
GA-EP35-DS3/e6600@3,4 GHz+Scythe Mugen/4GB PC6400/AMD Radeon 6770, open-source driver/2tb Hitachi deskstar 7200 rpm + Seagate 2 Tb DL003, Ubuntu 14.04 x32 with 3.14 linux kernel

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Проблема с форвардингом пакетов Ubuntu
« Ответ #1 : 16 Октябрь 2011, 00:16:16 »
Цитировать
, веб-трафик проходит выборочно до 3-4 сайтов. Что за...?
MTU ??? показывай iptables-save -c

Пользователь решил продолжить мысль 16 Октябрь 2011, 00:18:00:
правило в iptables для зажатия MTU есть?
« Последнее редактирование: 16 Октябрь 2011, 00:18:00 от xeon_greg »

Оффлайн DarkArchangel

  • Автор темы
  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Re: Проблема с форвардингом пакетов Ubuntu
« Ответ #2 : 16 Октябрь 2011, 07:23:29 »
вывод iptables-save -c

(Нажмите, чтобы показать/скрыть)
кстати, а я ведь отказался ограничивать размер mtu при установке pppoe-соединения... сейчас попробуем его урезать до 1442...

updated 08:13.
Да, точно, ОНО. после добавления опции mtu 1442 в настройку pppoe-соединения всё заработало как надо.
И ведь было нечто похожее, когда экспериментировал с размерами mtu, mru для достижения наилучшей скорости, да просто забыл, и потратил полдня на эту хрень :(

Спасибо, Xeon_greg. Проблема решена.

updated 09:25
Рано обрадовался -- открылась пара вкладок с википедией, вот и подумал, что всё бегает. Яндекс открывается, в результатах поиска что-то выдаёт, но по линкам не переходится. Гугл не работает, вконтакт не работает, mail.ru -- открывается, но даже по новостям не переходит...
« Последнее редактирование: 16 Октябрь 2011, 09:26:58 от DarkArchangel »
GA-EP35-DS3/e6600@3,4 GHz+Scythe Mugen/4GB PC6400/AMD Radeon 6770, open-source driver/2tb Hitachi deskstar 7200 rpm + Seagate 2 Tb DL003, Ubuntu 14.04 x32 with 3.14 linux kernel

Оффлайн shumtest

  • Активист
  • *
  • Сообщений: 731
  • Это вам просто кажется...
    • Просмотр профиля
    • Блог Шумомера
Re: Проблема с форвардингом пакетов Ubuntu
« Ответ #3 : 16 Октябрь 2011, 11:46:44 »
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Проблема с форвардингом пакетов Ubuntu
« Ответ #4 : 16 Октябрь 2011, 13:07:30 »
Цитировать
кстати, а я ведь отказался ограничивать размер mtu при установке pppoe-соединения... сейчас попробуем его урезать до 1442..
из каких соображений? добавь правило что написали выше и все будет работать
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
но думаю надо чуток подкорректировать его таким образом
sudo 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

Оффлайн DarkArchangel

  • Автор темы
  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Re: Проблема с форвардингом пакетов Ubuntu
« Ответ #5 : 18 Октябрь 2011, 10:27:14 »
xeon_greg: прошло... работает вроде... по крайней мере http-трафик проходит. Вечером посмотрю насчёт игрушек.
Теперь следующий вопрос: а почему при работе с чистой системой данное правило не требовалось? Что могло поменяться?
GA-EP35-DS3/e6600@3,4 GHz+Scythe Mugen/4GB PC6400/AMD Radeon 6770, open-source driver/2tb Hitachi deskstar 7200 rpm + Seagate 2 Tb DL003, Ubuntu 14.04 x32 with 3.14 linux kernel

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Проблема с форвардингом пакетов Ubuntu
« Ответ #6 : 18 Октябрь 2011, 11:05:31 »
вообще-то  при  настройке, pppoeconf , добавляет это правило самостоятельно, почему его у тебя не было, или кто его удалил - это другой вопрос

Оффлайн DarkArchangel

  • Автор темы
  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Re: Проблема с форвардингом пакетов Ubuntu
« Ответ #7 : 18 Октябрь 2011, 11:19:57 »
Точно, вижу. И, пожалуй, последний вопрос. Уже правда в качестве оффтопа.
Почему в выводе списка правил таблиц или в iptables-save не пишутся правила для форвардинга пакетов?
GA-EP35-DS3/e6600@3,4 GHz+Scythe Mugen/4GB PC6400/AMD Radeon 6770, open-source driver/2tb Hitachi deskstar 7200 rpm + Seagate 2 Tb DL003, Ubuntu 14.04 x32 with 3.14 linux kernel

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: Проблема с форвардингом пакетов Ubuntu
« Ответ #8 : 18 Октябрь 2011, 12:10:54 »
там все пишется. значит у тебя их нет

Оффлайн DarkArchangel

  • Автор темы
  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Re: Проблема с форвардингом пакетов Ubuntu
« Ответ #9 : 18 Октябрь 2011, 17:10:13 »
Да, действительно теперь добавилось... Пишу в первом посте решение проблемы, закрываю. Ещё раз благодарю xeon_greg и всех откликнувшихся...
GA-EP35-DS3/e6600@3,4 GHz+Scythe Mugen/4GB PC6400/AMD Radeon 6770, open-source driver/2tb Hitachi deskstar 7200 rpm + Seagate 2 Tb DL003, Ubuntu 14.04 x32 with 3.14 linux kernel

 

Страница сгенерирована за 0.076 секунд. Запросов: 25.