Как расшарить (раздать) Интернет по сети Ubuntu 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) нужно будет использовать на компьютерах в локальной сети как адрес Интернет-шлюза.
Через консоль то же самое можно сделать двумя командами:
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
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" и нажать кнопку "Свойства":
и в этом окне вписать адрес Интернет-шлюза.
Важно помнить, что:
Адрес шлюза должен совпадать с адресом сетевого интерфейса на компьютере-шлюзе.
Собственный адрес компьютера должен быть из той же подсети. Подсеть это первые три группы цифр адреса, в этом примере подсеть "192.168.0"
правильно:
неправильно:
Собственный адрес компьютера и адрес шлюза в разных подсетях!
Примечания
Существуют и другие способы совместного использования Интернет по локальной сети, например можно "раздавать" Интернет при помощи специальной программы - прокси-сервер.
В этой статье не определены меры по обеспечению безопасности Интернет-шлюза и локальной сети от проникновения из Интернет. Наипростейшие способы такой защиты:
Использовать в качестве Интернет-шлюза ОС Ubuntu Linux.
Если вы используете в качестве Интернет-шлюза ОС Windows, установите какой-либо комплекс антивирус + файерволл, например Касперский Интернет Секьюрити.
При настройке компьютеров-клиентов, можно указывать не только адрес шлюза, но и адреса DNS серверов. В качестве DNS сервера можно указать:
Адрес Интернет-шлюза.
Адреса DNS серверов вашего Интернет-провайдера.
Адреса любых DNS серверов, которые стабильно доступны в сети.
Сопутствующие статьи:
Локальная сеть между Ubuntu Linux и MS Windows
http://ru.d-ws.biz/articles/icsLinuxAndWindows.shtml