Как раздать интернет из linux в windows

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

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

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

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

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

Вариант 1, расшарить (раздать) Интернет с Windows на Ubuntu Linux

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

Шаг первый, настройка Windows

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

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

В списке доступных сетевых подключений нужно выбрать то, через которое компьютер подключается к Интернет, затем нажать на нем правую кнопку мыши и выбрать строку меню «Свойства»:

Примечание. «Сетевое окружение» можно открыть и другими способами — через меню «Пуск — Настройка» и через «Панель управления» в элементе «Мой компьютер».

В окне свойств подключения к Интернет, нужно открыть вкладку «Доступ», на этой вкладке включить опцию «Разрешить другим пользователям …» и в списке доступных соединений выбрать то, через которое подключена локальная сеть:

После нажатия кнопки «Ок», в Windows будет включена переадресация Интернет трафика между двумя сетевыми интерфейсами. После этого можно настраивать компьютеры в локальной сети, для того, чтобы они могли получать трафик с Интернет-шлюза. Для этого нужно узнать какой Интернет-адрес Windows присвоила тому соединению, которую подключена локальная сеть, это можно сделать открыв окно «Свойства» этого соединения. В этом окне нужно открыть вкладку «Общие», затем выделить «Протокол Интернета TCP\IP» и нажать кнопку «Свойства». Откроется новое окно и в нем будет вписан адрес этого соединения. Этот адрес нужно запомнить или записать. Именно этот адрес нужно будет использовать при настройке компьютеров локальной сети:

По умолчанию Windows XP использует адрес 192.168.0.1, а Windows 7 192.168.137.1.

Шаг второй, настройка Ubuntu Linux

На компьютере(ах) с ОС Ubuntu Linux, которые должны «получить» Интернет, нужно всего лишь указать адрес Интернет-шлюза в настройках того сетевого подключения, через которое этот компьютер подключен к локальной сети. Сделать это можно как через графический интерфейс, так и через консольную команду.

Настройка через графический интерфейс.

Откройте список сетевых подключений, через значок «Сеть» в трее или через меню «Система — Параметры — Сетевые соединения»:

В окне с перечнем соединений выберите то, через которое этот компьютер подключен к локальной сети, выделите его и нажмите кнопку «Изменить»:

Далее, в новом окне откройте вкладку «Параметры IPv4» и укажите метод «Вручную», впишите адрес для этого подключения, а также адрес Интернет-шлюза:

Затем нажмите кнопку «Применить».

Все готово, можно пользоваться Интернет.

Через консоль то же самое можно сделать одной командой «sudo route add default gw 192.168.0.1 eth0»:

Примечание. Консольную команду нужно повторять после перезагрузки Linux.

Вариант 2, расшарить (раздать) Интернет с Ubuntu Linux на Windows

Порядок такой же как и в первом варианте, сначала настраивается компьютер-шлюз, который подключен к Интернет, затем клиенты. Только в этом случае Интернет-шлюз будет на ОС Ubuntu Linux.

Шаг первый, настройка Интернет-шлюза на ОС Ubuntu Linux

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

Настройка через графический интерфейс.

Откройте список сетевых подключений, через значок «Сеть» в трее или через меню «Система — Параметры — Сетевые соединения». В окне с перечнем соединений выберите то, через которое этот компьютер подключен к локальной сети, выделите его и нажмите кнопку «Изменить». Далее, в новом окне откройте вкладку «Параметры IPv4» и укажите метод «Общий с другими компьютерами»:

После перезапуска службы «Network Manager» начнет работать переадресация Интернет трафика между двумя сетевыми интерфейсами. Перезапуск Network Manager происходит при перезагрузке Ubuntu Linux, но можно это сделать вручную, если в консоли выполнить команду «sudo service network-manager restart» или «sudo /etc/init.d/NetworkManager restart».

После этого нужно узнать адрес, который Network Manager присвоил вашему сетевому интерфейсу. Это можно сделать через консоль, набрав там команду «ifconfig -a» и затем, в результатах этой команды найти нужный интерфейс. Например «eth0 …. inet addr:10.42.43.1». Этот адрес (10.42.43.1) нужно будет использовать на компьютерах в локальной сети как адрес Интернет-шлюза.

Через консоль то же самое можно сделать двумя командами:

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

    2. sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE

Примечание. Адрес «192.168.1.0/24» нужно заменить на адрес вашей локальной сети.

Вместо двух команд можно сделать скрипт:

И точно так же, нужно знать адрес вашего сетевого интерфейса локальной сети для настройки компьютеров-клиентов.

Примечание. При использовании консольных команд или скрипта, их нужно будет выполнять при каждом запуске Linux.

Шаг второй, настройка Windows

На компьютере(ах) с ОС Windows, которые должны «получить» Интернет, нужно всего лишь указать адрес Интернет-шлюза в настройках того сетевого подключения, через которое этот компьютер подключен к локальной сети. Открываете «Сетевые подключения», далее свойства нужного подключения, далее вкладка «Общие», затем выделить «Протокол Интернета TCP\IP» и нажать кнопку «Свойства»:

и в этом окне вписать адрес Интернет-шлюза.

Важно помнить, что:

    1. Адрес шлюза должен совпадать с адресом сетевого интерфейса на компьютере-шлюзе.

    2. Собственный адрес компьютера должен быть из той же подсети. Подсеть это первые три группы цифр адреса, в этом примере подсеть «192.168.0»

Собственный адрес компьютера и адрес шлюза в разных подсетях!

Существуют и другие способы совместного использования Интернет по локальной сети, например можно «раздавать» Интернет при помощи специальной программы — прокси-сервер.

В этой статье не определены меры по обеспечению безопасности Интернет-шлюза и локальной сети от проникновения из Интернет. Наипростейшие способы такой защиты:

    • Использовать в качестве Интернет-шлюза ОС Ubuntu Linux.

    • Если вы используете в качестве Интернет-шлюза ОС Windows, установите какой-либо комплекс антивирус + файерволл, например Касперский Интернет Секьюрити.

При настройке компьютеров-клиентов, можно указывать не только адрес шлюза, но и адреса DNS серверов. В качестве DNS сервера можно указать:

    1. Адрес Интернет-шлюза.

    2. Адреса DNS серверов вашего Интернет-провайдера.

    3. Адреса любых DNS серверов, которые стабильно доступны в сети.

Сопутствующие статьи:

Локальная сеть между Ubuntu Linux и MS Windows

http://ru.d-ws.biz/articles/icsLinuxAndWindows.shtml

Как раздать интернет из Linux на Windows в VirtualBox?

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

Шаг 1: Загрузка и установка VirtualBox

Для начала вам нужно загрузить последнюю версию VirtualBox с официального сайта (https://www.virtualbox.org/wiki/Downloads). После загрузки установите программу, следуя инструкциям мастера установки.

Шаг 2: Создание виртуальной машины

После установки откройте VirtualBox и нажмите на кнопку «Создать» для создания новой виртуальной машины. Задайте имя и тип операционной системы (в данном случае Windows) и выберите количество выделенной оперативной памяти и размер жесткого диска. После завершения настройки нажмите «Создать».

Шаг 3: Установка операционной системы в виртуальной машине

Для установки операционной системы Windows на виртуальную машину выберите виртуальную машину в списке и нажмите на кнопку «Пуск». Вам будет предложено выбрать образ диска с операционной системой. Выберите соответствующий файл образа и нажмите «Старт». Следуйте инструкциям мастера установки Windows для установки ОС в виртуальной машине.

Шаг 4: Настройка сети в виртуальной машине

После установки Windows откройте виртуальную машину и выберите «Настройки». В разделе «Сеть» выберите «Адаптер 1» и включите опцию «Активировать сетевой адаптер». В меню раскрывающегося списка «Способ подключения» выберите «Сетевой мост» или «Авто» (в зависимости от настроек вашей системы). Нажмите «ОК», чтобы сохранить настройки.

Шаг 5: Настройка сети хоста

Теперь перейдем на хостовую систему Linux. Откройте терминал и выполните команду ifconfig, чтобы получить информацию о сетевых интерфейсах на вашей машине. Обычно первый интерфейс называется eth0. Запишите IP-адрес и маску подсети для дальнейшей настройки в виртуальной машине.

Шаг 6: Настройка моста в Linux

Вернитесь к VirtualBox и откройте меню «Настройки». В разделе «Сеть» выберите «Создание сети хоста». Введите имя сети и выберите режим «Правило адресации сети (DHCP)». Нажмите «ОК» для сохранения настроек.

Теперь перейдите к настройке моста в Linux. Откройте терминал и выполните команду sudo nano /etc/network/interfaces, чтобы открыть файл настроек сетевого интерфейса. Добавьте следующие строки в файл:

auto br0
iface br0 inet dhcp
bridge_ports eth0

Сохраните изменения и закройте файл. Затем выполите команду sudo /etc/init.d/networking restart для перезапуска сети.

Шаг 7: Подключение виртуальной машины к мосту

Вернитесь к виртуальной машине в VirtualBox и откройте настройки сети. В разделе «Сеть» выберите «Адаптер 1» и выберите вариант «Создать новое подключение моста». Используйте раскрывающийся список «Имя подключения» для выбора созданного вами моста. Нажмите «ОК» для сохранения изменений.

Шаг 8: Подключение к интернету

Теперь у вас должно быть подключение к интернету внутри виртуальной машины Windows. Откройте браузер в Windows и проверьте доступность веб-сайтов, чтобы убедиться, что интернет работает правильно.

Если подключение к интернету внутри виртуальной машины не работает, выполните следующие действия:

— Убедитесь, что сетевой адаптер VirtualBox выбран правильно.
— Проверьте настройки межсетевого экрана, чтобы разрешить доступ к интернету из виртуальной машины.
— Проверьте настройки DHCP, чтобы убедиться, что виртуальная машина получает правильный IP-адрес и маску подсети.
— Проверьте настройки сети хоста Linux.

В заключение можно сказать, что настройка раздачи интернета из Linux на Windows в VirtualBox является достаточно простой задачей, но потребует некоторых шагов настройки. Однако, если все настройки выполнены правильно, вы сможете наслаждаться доступом к интернету в вашей виртуальной машине Windows.

Содержание

Инструкций уже много, в которых много всего написано, да так, что новички увидев это «многабукаф» закроют в ужасе. Попробую показать короткую инструкцию для раздачи Интернета для самого популярного случая с одного компьютера на другой, будь то Интернет через 3g-модем или PPPoE — не важно.

Исходные данные

Итак, что мы обычно имеем на дому?

  1. комп с 2 сетевыми картами, одна на ДСЛ-модем (или на провайдера), другая на второй комп.

  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
  1. Зашли в консоль рута

  2. Включили NAT, указав, что интерфейс с Инетом ppp0 и ему предназначены пакеты, не адресованные локальной сети 192.168.0.0/24

  3. Сохранили правила iptables

  4. Прописали команду, восстанавливающую правила при старте сетевых интерфейсов (после перезагрузки)

  5. Установили сервер 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-сервера выступает он же.

В этой заметке будет рассказано как с помощью iptables настроить системы с Ubuntu и Debian для раздачи интернета другим компьютерам локальной сети. На простом примере будет показано как машину с двумя сетевыми интерфейсами (в один поступает интернет, из другого — «выходит») сделать шлюзом.

Настроить этот функционал через веб-интерфейс можно с помощью Webmin, через графический интерфейс – с помощью GAdmintools. Но мы рекомендуем настраивать шлюз напямую, а не через сторонние утилиты.

Допустим, что аппаратно-сетевая часть уже полностью настроена, на вашей машине имеются работоспособный интернет и вы видите другие компьютеры сети. Поэтому давайте разберемся что к чему, для этого введем команду:

ifconfig

(с Debian 9 эта команда устарела, используйте ip a вместо нее)

Она выдаст список работающих в данный момент сетевых интерфейсов. Среди них надо опознать те, что начинаются со слов «Link encap:Ethernet» — это интерфейсы сетевых карт. Как правило, это eth0 и eth1.
Теперь потребуется опознать в какой из них поступает интернет, а из какого «выходит». Проще всего это сделать по их ip-адресам.
Итак, допустим через eth0 вы получаете интернет (например через adsl-модем по протоколу ppp), а eth1 связывает вас с локальной сетью.
Если локальная сеть настроена через Network Manager, то мы рекомендуем прописать эти настройки непосредственно в системном конфигурационном файле сети:

sudo nano /etc/network/interfaces

Здесь исправьте настройки вашего сетевого интерфейса, подключенного к локальной сети (в нашем случае eth1), соответствующим образом:

auto eth1
iface eth1 inet static
address 192.168.0.10
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

Значение address — это айпи вашей машины в локальной сети, по этому адресу собственно и будет располагаться шлюз.
Значение netmask — в локальных сетях для этого диапазона чаще всего такая. Для других диапазонов можно вычислить здесь.
Значения network и broadcast будут зависеть от вашего адреса. То есть, если ваш локальный ip — 10.0.0.10, то network и broadcast будут 10.0.0.0 и 10.255.255.255 соответственно.

Либо, это можно проделать всего одной командой:

sudo ifconfig eth1 192.168.0.10

Эта команда самостоятельно настроит вашу сетевую карту eth1 на использование статичного айпи-адреса, и самостоятельно пропишет описанные выше настройки в файл /etc/network/interfaces

В любом случае, после этих изменений перезапустите networking:

sudo /etc/init.d/networking restart

Командой:

ifconfig

(ip a)

проверьте, что изменения вступили в силу и все работает.

Теперь осталось дело за малым. В случае если вы уже пытались настроить вашу систему шлюзом, но у вас не получилось или по каким-то другим причинам вы желаете обнулить все настройки файрвола iptables, то это можно сделать следующими командами:

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain

Если прямой необходимости в сбросе настроек iptables нет, то лучше этого не делать.

Следующие команды настроят ваш iptables для NAT-трансляции (NAT, Network Address Translation — «преобразование сетевых адресов») через Ubuntu-шлюз:

sudo iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE

Если необходимые вам сетевые интерфейсы отличаются от eth0 и eth1, то просто измените первую строку соответствующим образом.
Если ваша локальная сеть находится вне диапазона 192.168.x.x, то маску подсети для указания в первой строке вы сможете легко вычислить через сервис Network Calculators.

Теперь для конфигурации gateway’я для роутинга между двумя интерфейсами необходимо включить IP-форвардинг командой:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

И последний штрих: надо отредактировать файл sysctl.conf:

sudo nano /etc/sysctl.conf

Добавьте в него вот эти две строки для активации роутинга:

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1

В Debian 9 достаточно добавить (раскомментрировать) всего одну строку:

net.ipv4.ip_forward=1

После этого ваш интернет-шлюз готов к работе. Можете настраивать клиентские машины. На нашем примере для них gateway будет 192.168.0.10

Если все внесенные вами изменения работают корректно и вы желаете внести эти настройки в автозагрузку (а именно, вышеприведенные настройки iptables теряют активность после перезагрузки системы), то сохраните нынешнюю рабочую конфигурацию iptables в файл командой:

sudo sh -c "iptables-save > /etc/iptables.up.rules"

После этого в сам файл сетевых настроек /etc/network/interfaces (sudo nano /etc/network/interfaces) к параметрам вашего сетевого интерфейса, например, из которого к вам поступает интернет (в нашем случае – это eth0) добавьте строку:

pre-up iptables-restore < /etc/iptables.up.rules

То есть оно станет примерно такого вида:

auto eth0
iface eth0 inet manual
pre-up iptables-restore < /etc/iptables.up.rules

Только не меняйте значения в строке iface, просто добавьте указанную строку последней в разделе auto eth0 (ну или какого-то другого сетевого интерфейса). После этого при перезагрузке сохраненные настройки iptables будут подниматься автоматически.

Если вы хотите добавить к этому автоматическую раздачу адресов (dhcp) и прокси, то воспользуйтесь для этого, например, вот этой инструкцией.

копия моего ответа на идентичный по сути, но иной по форме вопрос:


если на компьютерах в подсети шлюзом по умолчанию указано использование того самого сервера, который вы настраиваете, то достаточно:

  • разрешить на этом сервере передачу пакетов между интерфейсами:

    $ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
    

    для того, чтобы эта настройка применялась и после перезагрузки, раскомментируйте (или добавьте, если нет) строку в /etc/sysctl.conf:

    net.ipv4.ip_forward=1
    
  • проконтролировать, что эти пакеты не искажаются и не блокируются netfilter-ом (см. вывод $ sudo iptables-save).
  • добавить правило netfiler-а для подмены адреса отправителя у пакетов, поступивших с «внутреннего» интерфейса, и уходящих на внешний интерфейс:

    $ sudo iptables -t nat -A POSTROUTING -o внешний_интерфейс -j MASQUERADE
    

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

как минимум потребуется подмена адреса источника у пакетов, поступивших на «внешний» интерфейс, и адресованных компьютерам подсети, а также обратная подмена адреса назначения у «ответных» пакетов.

оба данных действия может выполнять директива netfilter-а под названием snat (source nat). пример её добавления с помощью программы iptables:

$ sudo iptables -t nat -A POSTROUTING -o внутренний_интерфейс -j SNAT --to-source ip-адрес

где ip-адрес — адрес, закреплённый за «внутренним» интерфейсом.


для того, чтобы не вводить упомянутые выше одну или две команды (iptables ...) после каждой перезагрузки настраиваемого сервера, их можно добавить, например, в конец файла /etc/rc.local, но до строки exit 0, которая там обычно присутствует (если нет — просто добавляйте в конец файла). добавка sudo, конечно, в этом файле не нужна.

  • Как развернуть трей в windows 10
  • Как развернуть экран на компьютере на 90 градусов на windows
  • Как развернуть терминальный сервер на windows server 2019
  • Как развернуть терминальный сервер на windows server 2012
  • Как развернуть пуск в windows 10