Виртуальная компьютерная сеть интернет

Настройка сети в VirtualBox

VirtualBox часто применяют, чтобы тестировать программы, которым требуется доступ к Интернету. Перед запуском утилиты надо разобраться в правилах настройки сети и в том, какие существуют виды подключения. Ознакомившись с инструкцией, вы поймете тонкости объединения виртуальных машин (ВМ) в компьютерную сеть, приобретения ими доступа к Интернету и связывания с основной системой.

Сетевые адаптеры: особенности и виды

В программе сеть можно настраивать при помощи нескольких вариантов, каждый из которых предназначен для выполнения определенных задач. К основным методам относят:

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

2. «NAT». Применяется в автоматическом режиме. Внутри формируется компьютерная сеть, которой предоставляется индивидуальный IP- адрес. Связь с Интернетом происходит при помощи «NAT». Обращаться к машине сможете, применяя пробросы портов утилиты VirtualBox. Особенность — простота настройки. Благодаря отдельному роутеру обеспечивается изолированность. Каждой гостевой ОС присваивается личный IP.

Настройки сети в ВиртуалБокс

3. «Сетевой мост». В этом случае ВМ — это полноправный участник компьютерной сети, подключающийся к главной системе. Для приобретения места размещения применяют сетевой интерфейс. Другому оборудованию ВМ становится видна по персональному IP.

4. «Виртуальный адаптер хоста». Создает адаптер, к которому подключаются ВМ, объединяющиеся в компьютерную сеть. При этом выход у пользователя в Интернет отсутствует. У всех ВМ есть возможность связываться между собой. У каждой есть собственный IP- адрес.

5. «Универсальный драйвер». Разные гостевые машины работают совместно на различных ОС.
Каждый метод настройки необходимо рассмотреть подробнее.

Сетевой мост в VirtualBox

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

Сетевой мост ВиртуалБокс

В графе «Имя» выберите интерфейс, назначенный для связи с Интернетом. Этот способ не совсем безопасен, так как любой ПК легко обретет доступ к ВМ.

Сеть NAT

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

Читайте также:  Wifi интернет нет выхода

Если ранее были отсоединены сетевые адаптеры, то для включения:

1. Зайдите в «Настройки» виртуальной машины.

2. Кликните на надпись «Сеть».

3. Выберите необходимый адаптер. Есть возможность подключать несколько штук и комбинировать их с хостом и сетью для получения преимуществ двух режимов. Далее в поле под названием «Тип подключения» найдите «NAT». Нажмите «Дополнительно». В МАС-адресе укажите — 080027436F18, выберите тип адаптера.

Виртуальный хост

Необходимо запустить локальную сеть, связывающую несколько хостов и виртуальных машин. Для верной работы в Linux необходимо загрузить модули ядер.

Виртуальный хост ВиртуалБокс

Чтобы они правильно работали, необходима установка пакета net-tools. Затем:

1. Зайдите в «Файл», после чего выберите «Настройки», кликните «Сеть». Нажмите на кнопку «+», а потом подтвердите действие, кликнув на «ОК». Все данные в графах оставляйте без изменения. Если установлена программа версией выше 5.2, то в меню кликните «Инструменты». Выберите «Менеджер сетей хоста».

Менеджер сетей хоста ВиртуалБокс

2. Кликните на надпись «Создать». Поставьте галочку рядом с пунктом «DYCP». Перейдите обратно к списку с перечислением ВМ. Зайдите в «Настройки». Нажмите на «Сеть».

3. Нажмите «Тип подключения». Кликните «Виртуальный адаптер хоста». Название будет, такое же, как вы ранее создавали.

Чтобы все машины работали в общей сети, подключайтесь к одному адаптеру. Если требуется предоставление выхода в интернет, то зайдите в «Адаптер2». После включения настройте «Network Address Translation».

Внутренняя сеть

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

Внутренняя сеть ВиртуалБокс

При использовании данной сети в Интернет выйти не получится.

Источник

VirtualBox: виртуальная локальная сеть, доступ в интернет через Linux-сервер

Представляю вашему вниманию продолжение своей предыдущей статьи. Здесь мы рассмотрим, как выпустить хосты в интернет через сервер с помощью утилиты iptables и как фильтровать входящие, исходящие или проходящие соединения.

Считаю важным сказать, что статья лишь демонстрирует, как могут работать некоторые сетевые технологии в Linux. Моральное и физическое устаревание описанных технологий никак не помешает вынести что-то полезное из приведенной информации.

Сеть, построенная в предыдущей статье

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

Немного теории

Iptables — это, можно сказать, фильтр, через который проходят сетевые пакеты. Эти пакеты могут быть входящими (INPUT), исходящими (OUTPUT) или проходящими (FORWARD).

INPUT, OUTPUT и FORWARD — это три основные цепочки, есть еще две дополнительные цепочки POSTROUTING и PREROUTING. В первую пакет попадает тогда, когда он уже прошел через FORWARD, во вторую — когда еще неизвестно, куда из трех основных цепочек он попадет.

Читайте также:  Настроить гитару через интернет

Также в iptables есть 4 таблицы: raw, mangle, nat, filter. Рассматривать их подробно сейчас не имеет смысла, так как будут использоваться только две из них: filter и nat. Таблица filter используется по умолчанию, а ее название говорит само за себя.

Самая наглядная информация — графическая, поэтому предлагаю ознакомиться с маршрутом прохождения пакетов с помощью следующей картинки:

Маршрут прохождения пакетов

Действия, которые можно совершать с пакетами:

  • ACCEPT — принять пакет
  • DROP — удалить пакет
  • REJECT — отклонить пакет с сообщением отправителю
  • LOG — сделать запись о пакете в лог-файл
  • QUEUE — отправить пакет пользовательскому приложению

При необходимости советую посетить следующую ссылку для получения более исчерпывающей информации: Настройка iptables для чайников.

Вывод хоста в интернет

Посмотрим, как по умолчанию выглядят цепочки iptables по умолчанию:

Цепочки iptables

После Chain идет название цепочки, а в скобках — политика по умолчанию. Chain INPUT (policy ACCEPT) значит, что по умолчанию входящие пакеты принимаются, а Chain FORWARD (policy DROP) значило бы, что проходящие через сервер пакеты удалятся. Состояние файрвола можно смотреть несколькими способами (второй, на мой взгляд, нагляднее):

iptables-save iptables -L -nv

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

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

Указывать при этом следует тот сетевой интерфейс, который на сервере уже смотрит в интернет (например, если eth0 — сетевой мост или NAT).

На хостах стоит проверить маршрутизацию командой route:

Маршрутизация

Если нет маршрута по умолчанию, то его следует добавить:

route add default gw 192.168.1.10 dev eth0

gw — адрес сервера, dev eth0 — интерфейс, связанный с сервером. Затем стоит пропинговать публичный DNS-сервер Google, чтобы убедиться, что выход в интернет есть. Обратите внимание, что на сервере должна быть разрешена пересылка пакетов в настройках ядра (echo 1 > /proc/sys/net/ipv4/ip_forward), а также политика цепочки FORWARD должна быть ACCEPT (на данном этапе).

Ограничение проходящих пакетов

Стоит сказать, что правила iptables иногда перекрывают друг друга. Например, если сначала вы затем запретили абсолютно все пакеты, а затем разрешили пакеты по протоколу HTTP, то по HTTP пакеты идти не будут. Происходит это потому, что когда пакет приходит в таблицу filter, в первую очередь он натыкается на первое прописанное правило (на то, которое запрещает абсолютно всё). По этому правилу пакет удаляется, и до разрешающего правила пакет уже не добирается.

Читайте также:  Сеть ооо кокос интернет телефон

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

iptables -P FORWARD DROP iptables -A FORWARD -p tcp --dport 80 -j ACCEPT

В данном случае всё просто: первая команда — политика для цепочки FORWARD, вторая — разрешаем HTTP (80 порт) по tcp. Всё, теперь проходят только HTTP-пакеты

Более сложный пример

Сначала ограничим все проходящие пакеты, а затем постараемся пропинговать Яндекс по доменному имени ya.ru. В таком случае, необходимо вручную включить FORWARD icmp-пакетов и DNS-пакетов, а также определить, откуда брать доменные имена. Доменные имена будем брать с уже известного адреса 8.8.8.8, дописав параметры в файл /etc/hosts:

echo "8.8.8.8 nameserver" >> /etc/hosts

Разрешать пинг и DNS-пакеты будем следующими командами:

iptables -P FORWARD DROP iptables -A FORWARD -p icmp -j ACCEPT iptables -A FORWARD -p tcp --dport 53 -j ACCEPT iptables -A FORWARD -p udp --dport 53 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Важно разрешить пересылку пакетов по 53 порту не только по tcp, но и по udp. Я не до конца уверен, с чем именно это связано, но если сделать иначе, то пинг по доменному имени не сработает. Последнее же правило нужно, чтобы разрешить перенаправление пакетов, которые являются частью установленных соединений или связаны с ними. Это важно для поддержания работоспособности уже установленных соединений, а также для обработки ответных пакетов или пакетов, проходящих через систему и перенаправляемых между сетями.

Стоит быть особенно внимательным при настройке iptables, ведь, например, можно забыть открыть 21 порт при тестировании соединений утилитой telnet. Также не стоит забывать об использовании iptables-save и iptables-restore, чтобы сохранять текущее состоянии файрвола в текстовый файл и в любой удобный момент восстанавливать предыдущее состояние.

iptables-save > firewall_ver1.txt iptables-restore firewall_ver1.txt

Заключение

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

Источник

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