Роутер на базе PC или ноутбука за пару минут

    Помните пост о временном переключении WIFI в режим точки доступа? Конечно же нет, давно было. Вот он: habrahabr.ru/blogs/linux/122876.

    Сегодня речь пойдёт не о точке доступа, а о режиме работы компьютера, в котором он выступает в качестве маршрутизатора. Это может пригодится в том случае, когда есть всего одна точка выхода в интернет, а компьютеров нужно подключить несколько. Или, например, интернет раздаётся по WIFI, есть один ноутбук с WIFI, а второе устройство имеет только Ethernet-интерфейс.

    Имеем


    — Ноутбук с Ubuntu 11.10 и беспроводным сетевым адаптером
    — Беспроводной интернет
    — Комьютер с Ethernet-интерфейсом

    Задача


    — Получить с компьютера доступ в интернет

    Решение


    До недавнего времени для решения поставленной задачи я копировал скрипты из топика про точку доступа и правил их. Но частая необходимость в таком доступе превратилась новый небольшой скрипт.

    Первый скрипт установит необходимые пакеты, а именно dnsmasq, которвый выступает в качестве dns/dhcp-сервера.

    install.sh
    #!/bin/bash
    
    # Install dns/dhcp server
    apt-get install dnsmasq
    # Stop installed service
    service dnsmasq stop
    # Disable autostart on boot
    update-rc.d dnsmasq disable
    


    И второй скрипт, который перводит ноутбук в режим роутера и обратно.

    start.sh
    #!/bin/bash
    
    INT=eth0
    EXT=wlan0
    INT_IP=192.168.2.2
    INT_RANGE=192.168.2.10,192.168.2.50
    
    # Start
    ifconfig $INT $INT_IP
    sysctl net.ipv4.ip_forward=1
    iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE
    dnsmasq -d -zi $INT -F $INT_RANGE -C /dev/null -l /tmp/dnsmasq.leases
    
    # Stop
    iptables -D POSTROUTING -t nat -o $EXT -j MASQUERADE
    sysctl net.ipv4.ip_forward=0
    


    Протестировано в Ubuntu 11.10, но может быть использовано в любом дистрибутиве, в котором доступен для установки dnsmasq.

    Приятных экспериментов!

    UPDATE:
    Хабравчане не одобряют, переехало на Help Linux.
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 10
    • 0
      А знает кто-нибудь вариант для Windows?
      • +1
        В Windows XP решается одной галкой в настройках сетевого соединения. С Виста и 7-кой не работал.
        • 0
          или Connectify
        • –4
          nat сжирает много ресурсов, будет тормозить. В linux же можно включить маршрутизацию намного проще: через ip_forwadring. После установки ip_forward нужно ребутнуть ось
          • +3
            ip forwarding это только роутинг (т.е. переброс пакетов между сетевыми интерфейсами без изменения), доступ в интернет с одного IP таким образом получить не получится.
          • 0
            Я вот таким скриптиком в xfce пользуюсь. Как по мне, удобно очень.
            • +7
              image
              • 0
                Не знал как выразить мысль, но после написанного вами, все встало на свои места! +100500.
              • 0
                в скриптах при запуске указываются параметры?
                во втором скрипте есть опция # Stop
                • +1
                  Параметров командной строки в скриптах нет :)

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