О мостах и маршрутизаторах
06-12-2009 23:40
к комментариям - к полной версии
- понравилось!
Это просто какая-то феерия. Почти полный рабочий день самого жестокого секса с домашней сетью. У меня подрагивает левое нижнее веко, а в голове каша.
Начиналось всё вполне невинно: вчера я, поставив ipmasq (тянуть пришлось из репозитория jaunty, в karmic почему-то не включили) и dnsmasq, относительно легко наладил маршрутизацию между двумя сетевыми картами, поднял DNS и DHCP серверы, после чего в шнурке, торчащем из второй (не подключённой к модему) сетевой карты появился интернет.
Я уж было обрадовался и захотел таким образом поднять сеть. Одна проблема: аппаратного роутера у меня нет, и его функции я попытался повесить на основной модем (к провайдеру подключался через старый). Долго я пытался объяснить ему, что он роутер, а не модем, но безуспешно. Мне удалось добиться того, что DHCP-запросы от подключённых к нему компьютеров приходили ко мне, но вот обратно ответы не шли. Ещё я пробовал использовать ноутбук как точку доступа, но, похоже, его сетевая карта это не умеет. По крайней мере, в режим master переходить отказывается, как и менять essid на тот, которого нет среди результатов iwlist ra0 scan. Плюнув на это, я наскоро (без детальной настройки NAT и MAC-фильтра) восстановил основной модем в качестве источника интернетов, после чего просто трепался по аське. сеть при этом, ясное дело работала.
Проснувшись утром, я решил таки настроить MAC-фильтр (как оказалось, кстати, несколько товарищей уже успели с воплем "Халявный соседский вайфай!" подключиться). Внёс нужные адреса, после чего выключил и включил модем (чтобы у лишних товарищей сессия отрубилась). Сеть заработала. А через некоторое время упала. И тут началось веселье.
Падение заключалось в том, что на попытки пропинговать внешние IP я получал ответ "sendmsg: operatin not permitted". Модем при этом пинговался, и в веб-конфигуратор можно было спокойно зайти. Сам модем, надо сказать, умеет пинговать внешние адреса. Именно это я и проверил. Всё работало.
Из этого я сделал логичный вывод: раз до модема пинги идут, сам модем с сетью общается нормально, значит проблема где-то в нём. Долго я ковырял всевозможные настройки. Раз пять сбрасывал их в ноль. Ничего не помогало. На ноутбуке был аналогичный эффект, как и на всех остальных компьютерах сети.
Я решил восстановить сеть хотя бы у себя, чтобы залезть в гугл и посмотреть решение. Взял запасной модем, подключил в режиме моста, связался с провайдером через pon, всё заработало. Полез в гугл, получил ответ, что это из-за превышения числа допустимых соединений, и надо только его увеличить. Эта затея мне с самого начала показалась странной: от такой причины сеть не могла упасть сама собой, а даже если бы и могла -- то только на моём десктопе и ноуте, потому что только там я ковырялся в настройках. Но ладно, хоть что-то сделать-то надо! Поменял. Ничего не изменилось.
Несколько пожалев о времени, потраченном на настройку маршрутизации, полностью стёр iptables. Ничего не изменилось. А минут через пять сеть снова упала. Модем опять пинговался, а внешняя сеть -- нет. Теперь это выглядело совсем странным, ибо модем работал в режиме моста. Ладно. Перезагрузил pppoe соединение. Тперь отвалились пингли даже до модема.
Преодолевая острое желание что-нибудь разбить, поменял модем на основной, работающий как маршрутизатор. Тперь перестал пинговаться даже он. Уже сомневаясь в собственной вменяемости, я перезагрузился в LiveCD и поставил мост. И, о чудо, оно заработало! Я ещё раз перерыл гугл, но ничего нового не нашёл. Тогда я поставил основной модем, сбил настройки, вбил заново -- и оно таки заработало! А вот wifi по-прежнему не было. Но хоть проводная сеть была.
Тогда я перзагрузился в основную систему, там ничего не работало. И что-то мне стукнуло в голову -- снёс к чёрту dnsmasq и ipmasq. Оно заработало! Да! Наконец-то! Wi-fi сработал после ещё одной перезагрузки.
Казалось бы, урок -- надо вспоминать все измнения в настройках. Но я нихрена не понял. Почему сеть с одинаковыми настройками сначала работала, а потом самопроизвольно отвалилась? Почему от наличия dnsmasq и ipmasq на одном клиентском компьютере не работала сеть на всех остальных? Почему сначала пинги не шли только от компа во внешнюю сеть, тогда как все остальные варианты работали, если проблемы на стороне компа? Я идиот, убейте меня кто-нибудь.
вверх^
к полной версии
понравилось!
в evernote