С Новым годом! Форум программистов, компьютерный форум, киберфорум
Кабельные сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/34: Рейтинг темы: голосов - 34, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 21
1

Как настроить сеть в VirtualBox на несколько машин, с подключением через Wireguard?

26.09.2020, 16:52. Показов 6389. Ответов 17

Author24 — интернет-сервис помощи студентам
Здраствуйте!

Подскажите пожалуйста как настроить сеть в VirtualBox.
На 1 виртуальной машине включен VPN Wireguard и 2-я виртуальная машина выходит в интернет
через 1ю.

1 виртуальная машина:

ОС Alpine Linux (или Debian 10)
Адаптер №1
NAT DHCP
Aдаптер №2
IP: 192.168.1.1
Mask: 255.255.255.0
На виртуальной машине включен и настроен VPN WireGuard,
который подключен к серверу на VPS

2 виртуальная машина:

ОС Любая
Адаптер №1
IP: 192.168.1.2
Mask: 255.255.255.0
Gateway: 192.168.1.1



Как настроить WireGuard на Alpine Linux я знаю, но вот как сделать так, чтобы "Виртуальная машина 1" пускала весь траффик от "Виртуальной машины 2" через WireGuard я на могу настроить.
Т.е. получается мне нужно настроить "Виртуальную машину 1" как роутер
Миниатюры
Как настроить сеть в VirtualBox на несколько машин, с подключением через Wireguard?  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2020, 16:52
Ответы с готовыми решениями:

Как настроить сеть virtualbox
Привет всем:) Вопрос такой: как настроить сеть, чтобы можно было пропинговать с реальной машины...

Локальная сеть из двух машин VirtualBox
Добрый вечер! В настоящее время изучаю системное администрирование и что называется "тренируюсь на...

Как настроить сеть между 2 ноутбуками с подключением интернета?
Есть 2 ноутбука, оба поддерживают беспроводную связь, к одному подключен интернет, как сделать так,...

Как настроить сеть между реально установленной OS и виртуальной? в VirtualBox(4.0.4.)
Доброго времени суток добрым(и не очень) людям!:) Я понимаю что Вы все тут такие крутые...

17
Эксперт по компьютерным сетямЭксперт NIX
13358 / 7490 / 820
Регистрация: 09.09.2009
Сообщений: 29,286
26.09.2020, 18:57 2
https://www.nakivo.com/blog/vi... ing-guide/
Internal Network
0
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 21
28.09.2020, 09:33  [ТС] 3
Dmitry, спасибо за ответ, но думаю не совсем то.
Именно в настройках VirtualBox я сделал все, сделал по примеру Whoenix.
Но вот как прописать конфиг в Linux машине 1 "Шлюз". Чтобы она принимала весь трафик от Виртуальная машины 2 и пускала его через включенное соединение WireGuard
0
Эксперт по компьютерным сетямЭксперт NIX
13358 / 7490 / 820
Регистрация: 09.09.2009
Сообщений: 29,286
28.09.2020, 09:47 4
Как настроить сеть в VirtualBox на несколько машин, с подключением через Wireguard?

виртуальные машины 2 и 3 получают интернет с выхода виртуальной машины
лчно я "думаю, что это именно то"...
1
Эксперт по компьютерным сетямЭксперт NIX
13358 / 7490 / 820
Регистрация: 09.09.2009
Сообщений: 29,286
28.09.2020, 11:23 5
кстати, вот сегодня тестировал свое, и именно в таком варианте:

1. сервер на линуксе, на нем поднят coova-chilli, является шлюзом с адресом 192.168.182.1, раздает сеть 192.168.182.0/24:

Как настроить сеть в VirtualBox на несколько машин, с подключением через Wireguard?


2. клиент на винде, подключен к серверу и доступ к интернету получает именно от сервера:

Как настроить сеть в VirtualBox на несколько машин, с подключением через Wireguard?
0
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 21
30.09.2020, 19:28  [ТС] 6
Схема такая. За не которым исключением. На виртуальной машине установлен VPN клиент Wireguard,
который подключен к серверу Wireguard установленному на VPS
0
Эксперт по компьютерным сетямЭксперт NIX
13358 / 7490 / 820
Регистрация: 09.09.2009
Сообщений: 29,286
30.09.2020, 19:48 7
на картинке в посте #4 виртуальная машина VM1 как раз с одной стороны получает интернет (не важно откуда и как) а с другой - раздает его в "виртуальный свич", к которому подключены 2 виртуальные машины (VM2 и VM3), получающие интернет уже от VM1.

по большому счету, ну будет в вашем случае "условная VM1" получать интернет через какой-то...
Цитата Сообщение от nzna Посмотреть сообщение
VPN клиент Wireguard
... - КАКАЯ РАЗНИЦА? как настроите, так и будет получать...
0
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 21
30.09.2020, 19:49  [ТС] 8
Понял, спасибо, сейчас пробую
0
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 21
05.10.2020, 11:38  [ТС] 9
Не получается настроить Alpine как роутер.
Добавил net.ipv4.ip_forward = 1
в файл /etc/sysctl.d/local.conf

Но ничего не меняется. На Alpine интернет доступен.
А на рабочей ОС нет. Внутренняя сеть 192.168.1.0/24
192.168.1.1 - ip Alpine
192.168.1.2 - ip рабочей ОС

Пинг от рабочей до Alpine проходит.
Насколько понимаю нужно настрои правила IPtables, достаточно много
в интернете описаний, но не могу понять какое именно подойдет мне, т.к.
нет опыта работы с iptables
0
Эксперт по компьютерным сетям
4308 / 1642 / 329
Регистрация: 23.06.2009
Сообщений: 5,848
05.10.2020, 11:45 10
покажите ifconfig и iptables-save
0
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 21
05.10.2020, 14:05  [ТС] 11
iptables-save выдает пусто
ifconfig

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
eth0      Link encap:Ethernet  HWaddr 08:00:27:94:D2:E4  
          inet addr:10.0.2.15  Bcast:0.0.0.0  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe94:d2e4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:436 errors:0 dropped:0 overruns:0 frame:0
          TX packets:462 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37041 (36.1 KiB)  TX bytes:38105 (37.2 KiB)
 
eth1      Link encap:Ethernet  HWaddr 08:00:27:04:E4:A9  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe04:e4a9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:1216 (1.1 KiB)
 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Добавлено через 8 минут
После того как включаю wireguard на Alpine

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
eth0      Link encap:Ethernet  HWaddr 08:00:27:94:D2:E4  
          inet addr:10.0.2.15  Bcast:0.0.0.0  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe94:d2e4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:904 errors:0 dropped:0 overruns:0 frame:0
          TX packets:944 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:85838 (83.8 KiB)  TX bytes:82562 (80.6 KiB)
 
eth1      Link encap:Ethernet  HWaddr 08:00:27:04:E4:A9  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe04:e4a9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:1426 (1.3 KiB)
 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 
wg0       Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.0.0.4  P-t-P:10.0.0.4  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP  MTU:1420  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:92 (92.0 B)  TX bytes:212 (212.0 B)
И iptables-save

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Generated by iptables-save v1.8.4 on Mon Oct  5 11:04:04 2020
*mangle
:PREROUTING ACCEPT [66:10901]
:INPUT ACCEPT [66:10901]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [73:14521]
:POSTROUTING ACCEPT [73:14521]
-A PREROUTING -p udp -m comment --comment "wg-quick(8) rule for wg0" -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
-A POSTROUTING -p udp -m mark --mark 0xca6c -m comment --comment "wg-quick(8) rule for wg0" -j CONNMARK --save-mark --nfmask 0xffffffff --ctmask 0xffffffff
COMMIT
# Completed on Mon Oct  5 11:04:04 2020
# Generated by iptables-save v1.8.4 on Mon Oct  5 11:04:04 2020
*raw
:PREROUTING ACCEPT [66:10901]
:OUTPUT ACCEPT [73:14521]
-A PREROUTING -d 10.0.0.4/32 ! -i wg0 -m addrtype ! --src-type LOCAL -m comment --comment "wg-quick(8) rule for wg0" -j DROP
COMMIT
# Completed on Mon Oct  5 11:04:04 2020
0
Эксперт по компьютерным сетям
4308 / 1642 / 329
Регистрация: 23.06.2009
Сообщений: 5,848
05.10.2020, 16:22 12
если я все верно понял, то интернет на Alpine приходит на eth0

что бы на рабочей станции заработал интернет нужно добавить src-nat (или MASQUERADE) правило
Код
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
дальше, если на рабочей станции нужен инет через Wireguard, то в скрипт поднятия Wireguard нужно добавить src-nat
Код
iptables -t nat -A POSTROUTING -o wg0 -s 192.168.1.0/24 -j MASQUERADE
и прописать маршрутизацию через Wireguard, тут 2 варианта, через mangle, или ip route rules, но отдельную таблицу маршрутизации для отправки пакетов в ВПН делать в любом случае

делайте поэтапно, сначала сделайте что интернет на рабочей станции заработал без ВПН, потом настраивайте с ВПН

на рабочей станции шлюзом должен быть указан Alpine с адресом 192.168.1.1, а у вас на первых скринах почему-то 192.168.182.1
1
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 21
05.10.2020, 16:46  [ТС] 13
На виртуальной машине №1 (роутер)
Включил соединение с сервером wireguard и добавил правило в IPTABLES

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

После этого интернет на "Виртуальной машине №2" заработал. Также IP показывается тот что нужно, трафик идет
через VPN.
Вопрос, правильно ли я все сделал и действительно ли теперь весь трафик из "Виртуальная машина №2" будет
идти через VPN который включер на "Виртуальная машина №1" ?
Также подскажите пожалуйста как мне сделать добавление этого правило автоматически на "Виртуальной машине №1"

Добавлено через 10 минут
Только отправил сообщение на форум и увидел что вы уже написали сообщение

Лучше сделать как вы написали с указанием сети?
iptables -t nat -A POSTROUTING -o wg0 -s 192.168.1.0/24 -j MASQUERADE

А то я сам написал так, и все работает
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE

На рабочей станции шлюзом указал Alpine, в начале видимо торопился и опечатка вышла
ip 192.168.1.2/24
gateway 192.168.1.1
dns 1.1.1.1

Не понял то, что вы написали про прописать маршрутизацию через Wireguard.
Вы имеете ввиду на VPS? В данный момент сеть работает, пинг идет до инета
0
Эксперт по компьютерным сетям
4308 / 1642 / 329
Регистрация: 23.06.2009
Сообщений: 5,848
05.10.2020, 17:15 14
покажите ip route без ВПН и с ВПН на Alpine
0
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 21
05.10.2020, 17:29  [ТС] 15
Без ВПН

default via 10.0.2.2 dev eth0 metric 202
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1

с ВПН

default via 10.0.2.2 dev eth0 metric 202
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1
0
Эксперт по компьютерным сетям
4308 / 1642 / 329
Регистрация: 23.06.2009
Сообщений: 5,848
05.10.2020, 17:46 16
Лучший ответ Сообщение было отмечено nzna как решение

Решение

понятно, похоже Wireguard сам там всем рулит

Цитата Сообщение от nzna Посмотреть сообщение
Лучше сделать как вы написали с указанием сети?
iptables -t nat -A POSTROUTING -o wg0 -s 192.168.1.0/24 -j MASQUERADE
не обязательно, можно опустить

если у вас задача пускать рабочую станцию в интернет только через Wireguard, то нужно запретить forward трафика напрямую
Код
iptables -I FORWARD -i eth1 -o eth0 -j DROP
без этого правила если отключится Wireguard клиент, трафик от рабочей станции пойдет через eth0

или убрать/не добавлять правило
Код
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
тогда пакеты от рабочей станции прибьет вышестоящий маршрутизатор, по идее
0
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 21
05.10.2020, 17:55  [ТС] 17
Спасибо, как раз этот момент важен, чтобы мимо ВПН не пошел трафик
Теперь думаю как сделать это на автозагрузку, в debian делал одной командой

systemctl enable wg-quick@wg0

А тут другая система инициализации (в Alpine)

Нашел в официальном вики Alpine настройку wireguard
Нашел в нем про создание интерфейса

Bash
1
2
3
4
5
6
7
8
auto wg0
iface wg0 inet static
    address x.x.x.x
    netmask 255.255.255.0
    pre-up ip link add dev wg0 type wireguard
    pre-up wg setconf wg0 /etc/wireguard/wg0.conf
    post-up ip route add x.x.x.x/24 dev wg0
    post-down ip link delete dev wg0
Но не знаю решает ли это автозапуск и как отредактировать под мой случай
0
0 / 0 / 0
Регистрация: 19.06.2018
Сообщений: 21
06.10.2020, 10:45  [ТС] 18
Нашел решение, добавил выполнение команды, после включения интерфейса eth0
в файле /etc/network/interfaces

Код
auto eth0
iface eth0 inet dhcp
        hostname alpine
        post-up wg-quick up wg0
0
06.10.2020, 10:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2020, 10:45
Помогаю со студенческими работами здесь

VirtualBox ПОМОГИТЕ настроить сеть
Здравствуйте, установил VirtualBox, тип соеденения указал NAT.Инет без сетевого моста работает...

Не получается настроить внутреннюю сеть в VirtualBox
Необходимо в VirtualBox создать внутреннюю сеть между двумя ОС 7, без выхода в интернет, на...

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

Как настроить домашнюю сеть через Wi-Fi роутер?
хочу соединить 2 компа ноутбук и ПК для передачи файлов и всякой всячины не могу разобраться как...

Как настроить сеть через беспроводной маршрутизатор
Всем привет! Не могу добиться толку. Помогите кто чем может: имеется ADSL модем и сеть на...

Как настроить домашнюю сеть через adsl модем
2 пк и один ноут друг друга видят, а чтобы можно было передавать с одного на другой файлы не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru