Шлюз Интернета на базе Ubuntu-Server / Internet Connection Sharing
Опубликовано : 10-07-2009 | Автор : admin | Категория : Linux
В этой статте я опишу два способа создания Интернет шлюза на базе Ubuntu Server
Лично пробовал оба. Всё работает 100%.Настраивал на дистрибутивах: Ubuntu Server 9.04, Ubuntu Desktop 8.10.В дальнейшем хочу в добавок к этому выложиь настройку кешируюшого DNS и прокси сервера SQUID.
Способ1
Собственно, установка шлюза на базе Ubuntu-Server занимает не больше 10-15 минут.
1. Устанавливаем систему (с ставил ubuntu-9.04-server-i386.iso)
2. У меня подключение по локальной сети с использованием PPPoE. Для этого просто-напросто было запущено
Код:
sudo pppoeconf
и даны ответы на вопросы. По окончании работы pppoeconf соединение было установлено, о чем свидетельствовал положительный вывод на команду
Код:
ifconfig ppp0
3. На установленной машине Интернет появился. Теперь надо добавить включить все репозитарии в /etc/apt/source.list и выполнить
Код:
sudo apt-get update
4. Для доступа с других машин вашей локальной сети необходимо поставить всего лишь навсего два малюсеньких пакета: dnsmasq - чтобы переправлслись ваши DNS-запросы и ipmasq - собственно для NAT’a.
5. На машинках локальной сети получаем IP по DHCP от dnsmasq либо прописываем шлюз по умолчанию ручками.
Более подробно этот вопрос описан по ссылке http://forum.ubuntu.ru/index.php?topic=3244.0
Способ 2
Основная схема работы выглядит так:
PC-клиент <—> PC Gateway (Ubuntu) <—> Интернет
Предпосылки
Ubuntu на Вашем компьютере имеет подключение к интернету, и вы знаете, какое сетевое устройство обеспечивает эту функцию.
Примечание: как вы подключены к интернету не имеет значения (Ethernet, кабель, WiFi, DSL), до тех пор, пока у вас есть второе сетевое устройство.
Настройка сетевой карты
Сетевой карте, который обслуживает клиентов (eth0) необходим статический IP-адрес. Это может быть сделано вне сети менеджером и будет рекомендованым образом, так как вам может потребоваться NM чтобы подключить шлюз интернету.
Отредактировать файл конфигурации сети и установить eth0 статический IP. открыть конфиг командой
Код:
sudo nano /etc/network/interfaces
Теперь, чтобы настроить eth0, то вам нужно добавить несколько строк в файл. Кроме того, эта конфигурация работает только с сетевыми картами, а не с беспроводной.
Добавьте следующие строки в файл
Код:
auto eth0
iface eth0 inet static
address 10.8.16.1
netmask 255.255.255.0
broadcast 10.8.16.0
network 10.8.16.0
Это позволит установить статический IP-адрес для eth0 (10.8.16.1) и сетевой карты из NM. эти изменения вступят в силу только после перезагрузки. Чтобы временно использовать эти настройки, воспользуйтесь командой:
Код:
Sudo ifconfig eth0 10.8.16.1
Разрешить перенаправление IP
Порт перенаправления отключен в Ubuntu по умолчанию. Но он необходим что бы компьютер перенаправлял пакеты которые он получает. Для того чтобы включить перенаправление портов, введите следующую команду
Код:
sudo nano /ETC/sysctl.conf
и разкоментировать следующию строку
Код:
# net.ipv4.conf.default.forwarding = 1
Код:
net.ipv4.conf.default.forwarding = 1
Эти изменения вступят в силу со следующей перезагрузки системы. Если вы хотите, чтобы они вступили в силу сейчас, используйте эту команду
Код:
Sudo sysctl-w net.ipv4.ip_forward = 1
Ещо нужно добавить строку в файл rc.local
Код:
Sudo nano /ETC/rc.local
и добавьте эту строку перед exit 0
Код:
sysctl-w net.ipv4.ip_forward = 1
Настройка iptables (пакет фильтров)
Для того чтобы пакеты проходили через наш маршрутизатор, нужно добавить пару правил iptables фильтра так что бы пакеты могли пройти через наши машины. Кроме того, мы должны переписать пакеты, чтобы они могли найти дорогу обратно к нам.
открываем файл / rc.local
Код:
sudo nano /ETC/rc.local
и добавьте следующие строки
Код:
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables –table nat -A POSTROUTING -o eth1 -j MASQUERADE
Делать это таким образом, это не очень элегантно, ни по безопасности, но это является базой, и будет работать. Если вы беспокоитесь о безопасности, я предлагаю вам прочитать в iptables как конфигурируются правила для безопасности.
Опять, эти изменения вступят в силу только после перезагрузки.
Чтобы внесенные изменения вступили в силу сейчас, используйте эти команды
Код:
sudo iptables -P FORWARD ACCEPT
sudo iptables –table nat -A POSTROUTING -o eth1 -j MASQUERADE
Настройка клиента
Есть два способа настроить клиент - один статический, ручной конфигурации. Если вы хотите сделать это, а затем предоставить клиенту один IP-адрес в сети 10.8.16.0/24 (т.е. 10.8.16.2), шлюз 10.8.16.1 и DNS-сервер на своем компьютере (их можно найти в файле / ETC / resolv.conf)
Если у вас есть несколько клиентов, либо не хотите настраивать статику, вы можете создать базовой DHCP сервер.
Для установки сервера, введите следующую команду
Код:
sudo apt-get install dhcp3-server
Это должно установить DHCP-сервер на вашем компьютере. В начале не удастся его запустить, но это ничего страшного.Нам нужно узнать какой используется DNS сервер, это можно зделать командой
Код:
CAT /ETC/resolv.conf
и записать IP-адреса
Следующий шаг заключается в настройке DHCP-сервера
Для этого отредактируйте файл, обычно / etc/dhcp3/dhcpd.conf этой командой
Код:
sudo nano /etc/dhcp3/dhcpd.conf
сохранить содержимое в другой файл (для дальнейшего использования если вы хотите сделать больше настроек позже), а затем заменить его на следующие основные настройки:
Код:
ddns-update-style none;
option domain-name “mynetwork”;
option domain-name-servers Nameserver1, Nameserver2;
option routers 10.8.16.1;
default-lease-time 42300;
max-lease-time 84600;
authoritative;
log-facility local7;
subnet 10.8.16.0 netmask 255.255.255.0 {
range 10.8.16.50 10.8.16.150;
}
Nameserver1, Nameserver2- ваши DBS сервера, если у вас он один,другой удалите
Последнее, что предстоит сделать, прежде чем сервер может быть запущен заключается в том, чтобы сказать ему, какой интерфейс выбран для прослушивания. Это можно настроить в файле
/etc/default/dhcp3-server.
откройте его командой
Код:
sudo nano /etc/default/dhcp3-server
и измените строку INTERFACES=”" следующим образом:
Код:
INTERFACES=”eth0″
DHCP-сервер будет автоматически запущен начал после перезагрузки системы. вручную запустить его можно командой
Код:
sudo /etc/init.d/dhcp3-server start
Это все, что нужно для установки базы.

У меня ubuntu desktop i386 ver.9.04, никак не могу заставить ее нэт раздавать, перебрал кучу вариантов - никакого толку, результат один - как только ввожу статический адрес на карту, обращенную в локалку, после перезагрузки она исчезает. Ее нет в списке карт в менеджере сетевых подключений. ifconfig показывает следующее
eth0 (к модему через изернет автоматом) Link encap:Ethernet HWaddr 00:0e:0c:4a:73:dc inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20e:cff:fe4a:73dc/64 Диапазон:Ссылка
ВВЕРХ BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:100 RX bytes:700 (700.0 B) TX bytes:1152 (1.1 KB)
eth1 (на локалке статический) Link encap:Ethernet HWaddr 00:90:27:93:69:34
inet addr:10.8.16.1 Bcast:10.8.16.0 Mask:255.255.255.0 inet6 addr: e80::290:27ff:fe93:6934/64 Диапазон:Ссылка
ВВЕРХ BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:19 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:1000
RX bytes:1998 (1.9 KB) TX bytes:468 (468.0 B)
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Диапазон:Узел
ВВЕРХ LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:0
RX bytes:832 (832.0 B) TX bytes:832 (832.0 B)
Тоже была херня с убунту 9,04 снес воткнул 8,10
Ет ты зря насчет “будьте как дома”
Да уж. Как говорится в устоявшемся выражении:
Ведь Россия - страна контрастов: это мы придумали автомат Калашникова и Чебурашку.
Да уж. Как говорится в устоявшемся выражении:
Ведь благодаря нам супружеский долг нашей страны составляет 1273870000 раз.
Да уж. По поводу коментариев - навеяла на меня где-то услышанная фраза:
Это мы придумали носки телесного цвета.
Скажите мне, пожалуйста - где я могу найти больше информации по этому вопросу?
Да уж. А еще говорят, что мировой кризис по миру гялет…
думаю стоит взять данный материал под контроль, для этого добавлю в избранное
Автор жжет, спасибо - интересная новость.
Очень интересная. глубокая мысль - заставило задуматься.
Спасибо за инфу, сам начал только потихоньку втыкать в этот маскарадинг.