• Проблема с интернет-соединением после создания беспроводной сети в Ubuntu 9.10?

    Goshil
    @Goshil
    Мне кажется, дело тут не в DNS вовсе.

    1) Итак, в компьютере, подключенном к сети есть такая таблица — маршрутизации. В ней прописано, в частности, через какие сетевые карты и ip-адреса данного компьютера куда можно попасть (внутренняя сетка, интернет).

    Если у Вас, к примеру, одна сетевая карта (пусть, проводная, с интерфейсом под именем eth0), то в таблице есть один главный маршрут — на все адреса (в интернете, сетке) проситься через этот интерфейс.

    Как только Вы устанавливаете вторую сетевую карту (например, беспроводную, wlan0) и создаёте через неё подключение, в таблице появляется второй главный маршрут — проситься на все сайты и запрошенные адреса через вторую сетевую.

    В итоге в таблице два равноценных маршрута и система не знает, с какого интерфейса реально нужно брать информацию. Таким образом, ваша первоначальная догадка верна.

    2)Как исправлять инет:

    Все команды делаются в консоли/терминале, через «sudo». Проводной интерфейс и беспроводной будем называть eth0 и wlan0, соответственно. После "//" будет комментарий, его писать не надо.

    route del default //удаляем маршрут по-умолчанию
    route del default // не опечатка, этой командой удалится второй дефолтный маршрут, если он создавался
    route add default dev eth0 //говорим, что по-умолчанию пойдём за сеткой/инетом в провод

    3)Инет мы восстановили, теперь наладим его раздачу смартфону:

    echo 1 >/proc/sys/net/ipv4/ip_forward //разрешаем ядру линукса перебрасывать сетевые пакеты между сетевухами
    iptables -F //на всякий случай очищаем таблицу правил файервола, главного по «расшариванию»
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE //записываем в таблицу файервола правило, что пришедший с любого интерфейса (в том числе единственного, кроме eth0, wlan0) и просящий инета, получит этот инет из eth0

    Вроде всё, всего несколько команд в терминале. Кстати, можно их загнать в скрипт и положить в автозагрузку, дабы каждый раз после перезагрузки одно и то же не вводить.

    Если что-то будет не получаться — пишем сюда, и(желательно) изучаем литературу по использованию программ/команд route, iptables, bash (по shell-скриптам, в частности)
    Ответ написан
    2 комментария