Linux раздать интернет локальную сеть

Как расшарить (раздать) Интернет по сети Ubuntu Linux и Windows

При соединении компьютеров по локальной сети можно совместно использовать не только файлы и папки, как это описано в статье Локальная сеть между Ubuntu Linux и MS Windows , но и самое значительное достижение человеческой цивилизации — Интернет.

В этой статье будет рассмотрен простейший случай локальной сети — одноранговая полностью доверенная сеть. Или, если проще выражаться, соединены несколько равноценных компьютеров и доступ разрешен всем ко всем. Именно это наиболее актуально для домашних сетей и маленьких компаний. И такие сети все чаще становятся гетерогенными, то есть кроме всеми известной и любимой ОС MS Windows, появляется ОС GNU/Linux.

Для начала немного теории. Раздача или расшаривание Интернет, это выражение просторечное, у специалистов же это называется создание Интернет-шлюза, а компания Microsoft называет это Internet Connection Sharing. Но как это ни назови, суть одна и та же — к Интернет подключается лишь одни из компьютеров локальной сети, а остальные компьютеры «получают» Интернет с него. Такой компьютер и называется Интернет-шлюз, его работа заключается в том, чтобы получать запросы от локальной сети и передавать эти запросы «в Интернет» и затем получив «из Интернета» ответы, отправить их в локальную сеть. Сложно? Но на практике все вполне просто.

Хотя в этой статье будет рассмотрена настройка Интернет-шлюза для гетерогенной сети, абсолютно так же настраивается раздача Интернет и для однотипной сети (где только Windows или только Linux).

В этой статье будет описано как настроить Интернет по локальной сети между Ubuntu Linux и Windows в самом простейшем варианте — максимально быстро и с минимальными знаниями и навыками.

Для начала нужно убедиться, что на компьютере бесперебойно работают и подключение к Интернет и к локальной сети. При настройке Интернет-шлюза не имеет значения, каким образом компьютер подключен к Интернет и к локальной сети. Например подключение к Интернет может быть Dial-up типа через сотовый 3G или 4G USB модем. А к локальной сети компьютер может быть подключен через проводную Ethernet сетевую карту или беспроводную карту Wi-fi.

Настройка Интернет-шлюза будет показана на примере Windows XP, но для Windows 7 все делается точно так же.

Нажать на клавиатуре клавиши Windows+R и в открывшемся окне вписать «ncpa.cpl» и нажать кнопку «Ок»:

Читайте также:  Открыть настройки линукс через терминал

Источник

раздаем интернет в локалку iptables, просейшее соединение

Настройка с network manager или что то из GUI (виджет сетевые интерфейсы или любой другой).

1. Настраиваем карту смотрящую в сеть: настройки вашего провайдера.

2. Настраиваем карту смотрящую в локальную сеть.
IP / маска подсети


Например так:
192.168.0.1 / 255.255.0.0 (255.255.255.0)
Или так:
172.16.0.1 / 255.0.0.0

можете писать свои, главное чтобы они не совпадали с тем что написано в карте смотрящей на вашего провайдера (в интернет)

Далее узнаем сетевые интерфейсы:

/stati/linux/linux_eth_uznat_setevye_interfejsy/

Это важно, т.к. у вас могут быть другие.

Запомните название смотрящей в локальную сеть, это может быть:

enodo238s 172.16.0.1 / 255.0.0.0

Далее, добавляем или редактируем файл, если он уже есть:

#!/bin/sh -e

/usr/local/bin/inet.up
exit 0

#!/bin/sh

iptables -F
iptables -t nat -F

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT

В нем важны три последнии строчки, где мы заменяем названия на свои:
Для eth1 192.168.0.1 / 255.255.0.0 строчки такие

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT

Карта 192.168.0.1 диапазон 192.168.0.0/24

и для enodo238s 172.16.0.1 / 255.0.0.0 строчки такие

iptables -t nat -A POSTROUTING -o enodo238s -j MASQUERADE
iptables -A FORWARD -s 172.16.0.0/24 -j ACCEPT
iptables -A FORWARD -d 172.16.0.0/24 -j ACCEPT

Карта 172.16.0.1 диапазон 172.16.0.0/24

Не забываем сделать inet.up исполняемым файлом

Инструкция для настройки без network manager (без GUI):

Дано:
eth0 — смотрит в интернет
eth1 — смотрит в локальную сеть

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

eth0: автоматическое получение ip адресов (у вас может быть статическое, подобно как у локальных, см. ниже)

auto eth0
iface eth0 inet dhcp
ip:192.168.0.1 
маска:255.255.255.0
ip:192.168.0.2 
маска:255.255.255.0
шлюз:192.168.0.1

маска раздающего и принимающих в локальной сети компьютеров должна совпадать!

шлюз это ip раздающей карты (компьютера) они должны совпадать!
На локальных компьютерах можно указать 192.168.0.2 или 192.168.0.3 и так далее

#!/bin/sh -e

/usr/local/bin/inet.up
exit 0

#!/bin/sh

iptables -F
iptables -t nat -F

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT

Это самая простая настройка, представлена как пример. Более подробная настройка iptables с запретом портов и т.д. смотрим здесь.

Источник

Интернет-шлюз на базе Ubuntu Server / Internet Connection Sharing + Squid, Firestarter

Имеется сервер и подключенные к нему клиенты по локальной сети. Сервер имеет выход в интернет. Необходимо устроить раздачу интернета сервером.

Читайте также:  Active directory linux dhcp server

Основная часть

Собственно, установка шлюза на базе Ubuntu Server занимает не больше 10-15 минут.

PPPoE

Если Вы используете для подключения по локальной сети PPPoE, вам необходимо просто-напросто ввести в терминале команду:

и дать ответы на вопросы. По окончании работы pppoeconf соединение должно быть установлено.

L2TP

Если Вы используете для подключения к провайдеруL2TP, то для этого понадобится установить xl2tpd — демон l2tp и pppd — демон ppp. 1)

sudo apt-get install pppd xl2tpd

Редактируем файл настроек xl2tpd:

sudo nano /etc/xl2tpd/xl2tpd.conf
[global] access control = yes # разрешать соединения только с адресами из lac секций [lac beeline] lns = tp.internet.beeline.ru # адрес для подключения redial = yes # "перезвонить" при потере связи redial timeout = 10 # время между попытками переустановить связь после обрыва(в секундах) max redials = 100 # максимальное количество попыток autodial = yes # устанавливать соединение при запуске xl2tpd require pap = no # не использовать pap аутентификацию require chap = yes # использовать chap аутентификацию require authentication = no # не использовать аутентификацию удаленного сервера name = 000ххххххх # логин pppoptfile = /etc/ppp/options.l2tp # файл с опциями ppp ppp debug = yes # вывод подробной информации pppd в syslog tx bps = 100000000 # скорость туннеля
sudo nano /etc/ppp/options.xl2tp
000ххххххх #номер договора noauth nobsdcomp # nodeflate # параметры сжатия пакетов nopcomp # noaccomp # connect /bin/true remotename beeline # метка для удаленного сервера ipparam beeline # дополнительный параметр для системных скриптов defaultroute # маршрут по умолчанию через ppp интерфейс replacedefaultroute mtu 1460

Записываем в файл chap-secrets логин и пароль:

sudo nano /etc/ppp/chap-secrets:
sudo service xl2tpd start

соединение должно быть установлено.

На установленной машине Интернет появился. Теперь надо добавить включить все репозитарии в /etc/apt/source.list и выполнить:

Для доступа с других машин вашей локальной сети необходимо поставить всего лишь навсего два малюсеньких пакета:

sudo apt-get install dnsmasq
sudo apt-get install ipmasq

Прокси-сервер squid

Squid — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP , FTP , Gopher и HTTPS.

Для установки прокси-сервера squid необходимо выполнить команду:

Теперь редактируем конфигурационный файл. Открываем /etc/squid/squid.conf , ищем нужные строки и корректируем следующим образом:

Перезапускаем прокси-сервер командой:

Настраиваем браузеры на клиентских машинах на использование прокси: адрес прокси — пишем IP адрес интерфейса, обращенного в локальную сеть. Скорее всего,это будет 192.168.0.1, порт прокси — указанный в конфигурационном файле 3128.

Желающим сделать прозрачное проксирование необходимо изменить в файле настроек squid.conf одну строчку:

. http_port 3128 transparent .

Затем для заворачивания нужных портов на прокси-сервер прописывается правило:

iptables -t nat -A PREROUTING -i eth0 ! -d 192.168.0.0/24 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.0.1:3128

Раздача Интернета в локальную сеть c помощью firestarter

Firestarter – это средство для создания межсетевых экранов для Linux, использующее GNOME. С помощью мастера можно создать базовый межсетевой экран, в дальнейшем его возможности расширяются с помощью динамических правил. Несколькими щелчками мыши можно открывать и закрывать порты или скрывать сервисы, оставляя доступ только к некоторым из них. В программе имеется монитор, который в режиме реального времени показывает попытки поиска злоумышленниками открытых портов.

Читайте также:  Linux system open files

Для начала установим firestarter :

sudo apt-get install firestarter

При настройке указываем интерфейс с Интернетом — ppp0 раздавать на eth1 2)

Раздача Интернета в локальную сеть (ICS: Internet Connection Sharing)

Для организации совместного доступа в Интернет с помощью общего доступа к подключению Интернета на сервере должна быть одна сетевая карта для подключения к внутренней сети и еще одна карта или модем для подключения к Интернету.

На сервере

Для настройки общего доступа к подключению Интернета необходимо выполнить на сервере указанные ниже действия.

Исходные данные: Оба компьютера соединены по сети. На сервере установлено две сетевые карты:

Это можно сделать вручную или используя терминал:

sudo ifconfig eth1 192.168.0.1 netmask 255.255.255.0 sudo ifconfig eth1 up

Разрешите направление пакетов. Чтобы сделать это, отредактируйте /etc/sysctl.conf . Откройте сам файл командой:

А затем вставьте следующую строчку:

Для того, чтобы применить это правило до перезагрузки выполните:

sysctl -w net.ipv4.ip_forward="1"

Затем добавляем правило для NAT:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Где eth0 название вашего интерфейса через который выходите в интернет. Измените его если используете другой интерфейс (напрмер ppp0) тогда команда будет выглядит иначе:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Установите и запустите пакет для раздачи пакетов по сети:

sudo apt-get install dnsmasq

Или, вы можете использовать DNS провайдера.

Чтобы NAT работал после перезагрузки сохраняем настройки iptables в файл:

iptables-save > /etc/iptables.up.rules

И добавляем в конец файла:

sudo gedit /etc/network/interfaces

Эту строчку, для автоматической подгрузки правил:

Также в этот файл добавляем правила роутинга:

up route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1 up route add -net 0.0.0.0 netmask 255.255.255.255 dev eth0

На клиентском компьютере

Установите на втором компьютере:

Второй компьютер теперь должен быть подключён к интернету.

Если компьютеров несколько

Можно использовать dnsmasq как DHCP сервер. Для этого на сервере редактируем файл dnsmasq.conf:

interface=eth1 # интерфейс, который будет слушать dnsmasq listen-address=192.168.0.1 # адрес, на котором будет находиться dnsmasq bind-interfaces eth1 # слушать только интерфейс dhcp-range=192.168.0.5,192.168.0.50,255.255.255.0,24h1 # диапазон выдаваемых адресов dhcp-option=3,192.168.0.1 # шлюз по умолчанию 
sudo service dnsmasq restart

Настраиваем клиентские компьютеры на автоматическое получение адреса.

Если после перезагрузки правила iptables не восстанавливаются, добавьте:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

в любой стартовый скрипт (rc.local например). Вместо eth0 надо написать ppp0, если этот интерфейс получает интернет от провайдера:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Источник

Оцените статью
Adblock
detector