Стоит задача раздать интернет на все компьютеры, которые подключены к свитчу. Желательно, чтобы все настройки, такие как получение ip адреса, dns выполнялись автоматически. В данный момент нет физической возможности проверить раздается ли интернет или нет. Для настройки сети предстоит выехать на место. Но чтобы не терять время, решил подготовиться теоретически и составить план работы. И так начнем.
1. Интернет на сервер поступает через 3g модем. На сервере два интерфейса eth0 и ppp0. Вопрос верно ли указаны ppp0 и eth0 или их необходимо поменять местами?
файл /etc/network/interfaces?
auto lo
iface lo inet loopback
post-up iptables-restore </etc/iptables.conf
auto ppp0
iface ppp0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0[/tt]
2. Разрешаем пакетам бегать между интерфейсами.
sudo -s
echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf; sysctl -p
3. Прописываем правила для iptables
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables-save >/etc/iptables.conf
4. Настраиваю DNS и DHCP
sudo -s
apt-get install dnsmasq
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
gedit /etc/dnsmasq.conf
# Укажем интерфейс, который будет слушать dnsmasq
interface=eth0
# Укажем адрес, на котором будет находиться dnsmasq
listen-address=192.168.0.1
# Укажем dnsmaq слушать только интерфейсы
bind-interfaces
# Укажем локальный домен, для нашей домашней сети, это не обязятельно
domain=linux.lan
# Укажем DHCP-серверу диапазон выдаваемых адресов, длинную маску и время их аренды
dhcp-range=192.168.0.2,192.168.0.254,255.255.255.0,24h
# Укажем DHCP-серверу маршрут по умолчанию (default route) выдаваемом клиентам,
# в нашем случае это адрес интерфейса eth1
dhcp-option=3,192.168.0.1
# По идее можно указать адреса DNS, выдаваемых DHCP-сервером принудительно,
# если что-то не устраивает в dnsmasq, хотя Клиент и так по умолчанию
# получает адрес DNS=IP-eth1
# dhcp-option=6,ip-dns1,ip-dns2,ip-dnsN
Все ли верно? Верно ли указаны ppp0 и eth0 или их необходимо поменять местами?