- PVSM.RU - https://www.pvsm.ru -

Linux для всех / Роутер на базе PC или ноутбука за пару минут

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

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

Имеем

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

Задача

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

Решение

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

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

install.sh

#!/bin/bash  # Install dns/dhcp server apt-get install hostapd 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.

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

Автор: giner


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/scripting/2526

Ссылки в тексте:

[1] habrahabr.ru/blogs/linux/122876/.: http://habrahabr.ru/blogs/linux/122876/.