Настройка DHCP маршрутизатора на базе ubuntu linux



Итак, для начала настроим подключение к интернету. Откроем файл с настройками
sudo nano /etc/network/interfaces

и укажем там настройки подключения
auto lo eth0 eth1
iface lo inet loopback

iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx

iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

Всё, конечно, зависит от вашего провайдера (xxx.xxx.xxx.xxx надо будет заменить на нужные для аодключения значения), а так же условимся, что «входить» интернет будет в устройство eth0, а «раздаваться» пользователям через eth1.

А так же надо указать адреса DNS-северов, открыв для этого соответствующий файл
sudo nano /etc/resolv.conf

И указав в нём адреса, которые вам выдал провайдер, либо любые другие адреса DNS-серверов.
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx


Сохраним всё, что мы написали и перезагрузим сеть.
sudo /etc/init.d/networking restart

Проверить, что всё в порядке, можно попинговав, например, сайт гугла
ping -c 4 google.com


Теперь установим простенький DNS-сервер «dnsmasq» и настроим его.
sudo apt-get install dnsmasq

И в файле /etc/dnsmasq.conf напишем в соответствующих строчках
listen-address=127.0.0.1, 192.168.0.1
dhcp-range=192.168.0.100,192.168.0.199,255.255.255.0,12h

Чтобы разрешить принимать DNS-запросы из нашей сети и раздавать IP-адреса в дапазоне от 192.168.0.100 до 192.168.0.199.

Еще можно закрепить за компьютерами определённые ip-адреса, исходя из mac-адреса, добавив в тот же файл
dhcp-host=xx:xx:xx:xx:xx:xx,yyy.yyy.yyy.yyy

где xx:xx:xx:xx:xx:xx — mac-адрес нужной машины, а yyy.yyy.yyy.yyy ip-адрес, который мы хотим забронировать за ней. Для того, чтобы посмотреть какие машины в данный момент находятся в нашей сети, нужно ввести в консоли
cat /var/log/syslog | grep DHCPOFFER


Далее создадим файл, настраивающий трансляцию и сделаем его исполняемым.
sudo touch /etc/nat
sudo chmod +x /etc/nat

Заполним его следующим содержанием
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth0 -j REJECT

И добавим в конец файла /etc/network/interfaces строчку
post-up /etc/nat

Теперь еще раз перезапустим сеть и наш DNS-сервер
sudo /etc/init.d/networking restart
sudo /etc/init.d/dnsmasq restart

Тепрь всё готово.



Комментарии



Добавить комментарий:
Ваше имя:


Сайт:



Текст комментария:
Код с картинки: