Содержание
Инструкций уже много, в которых много всего написано, да так, что новички увидев это «многабукаф» закроют в ужасе. Попробую показать короткую инструкцию для раздачи Интернета для самого популярного случая с одного компьютера на другой, будь то Интернет через 3g-модем или PPPoE - не важно.
Исходные данные
Итак, что мы обычно имеем на дому?
- комп с 2 сетевыми картами, одна на ДСЛ-модем (или на провайдера), другая на второй комп.
- комп с 1 сетевой картой, но с выходом в Интернет с помощью usb 3g-модема.
Если у вас один из этих случаев, то инструкция для вас.
Считаем что инет висит на ppp0. Локальная сеть 192.168.0.0/24
Вместо ppp0 может быть eth0/1/2, wlan0 и т.п. Важно то, что мы знаем, что Инет приходит через этот интерфейс. Локальная сеть мб другой, поправьте под свой вариант или настройте свою сеть из 2-х компов как предложено здесь.
Настройка iptables
В терминале:
sudo su iptables -t nat -A POSTROUTING -o ppp0 ! -d 192.168.0.0/24 -j MASQUERADE iptables-save > /etc/iptables.up.rules echo "pre-up iptables-restore < /etc/iptables.up.rules" >> /etc/network/interfaces apt-get install bind9
- Зашли в консоль рута
- Включили NAT, указав, что интерфейс с Инетом ppp0 и ему предназначены пакеты, не адресованные локальной сети 192.168.0.0/24
- Сохранили правила iptables
- Прописали команду, восстанавливающую правила при старте сетевых интерфейсов (после перезагрузки)
- Установили сервер DNS, он будет транслировать DNS
Можно обойтись без bind9. В этом случае на 2-м компе нужно будет указать те же IP DNS-серверов, что и на 1-м, либо просто указать гугловский DNS-сервер - 8.8.8.8
Включаем форвардинг (перенаправление пакетов)
nano /etc/sysctl.conf
находим и раскоментируем эту строку:
net.ipv4.ip_forward=1
Чтобы изменения вступили в силу без перезагрузки ОС.
sysctl -p
Всё, компьютер является шлюзом в Интернет. Для того, чтобы 2-й комп получил доступ в Инет нужно настроить сеть, указав шлюзом данный компьютер, в роли DNS-сервера выступает он же.