Помните пост о временном переключении 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 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