Переход в виртуальную сеть

У нас есть установка из двух компьютеров. S - это сервер с доступом в Интернет, а C - клиент, который подключен к серверу через сеть 192.168.0.0/24. Это прекрасно работает, но третий компьютер, C2, должен быть подключен к C.

Проблема в том, что C и C2 должны подключаться через 192.168.0.0/24, а C2 не должен видеть S. Таким образом, мы хотим добавить виртуальную сеть между S и C, который использует 192.168.1.0/24.

. То есть у нас есть:

S <-- 192.168.0.0/24 -- C <---- X ---- C2

И мы хотим:

S <-- 192.168.1.0/24 -- C <-- 192.168.0.0/24 -- C2

Мы добавляем следующее в / etc / network / interfaces в S (ранее подключенном к C через eth0), и выполняет «ifup eth0.1»:

auto eth0.1
iface eth0.1 inet static
    address 192.168.1.254
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255

А в C после «ifdown eth0» удалите старый if и введите:

auto eth0
iface eth0 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.254

Затем «ifup eth0».

И это не сработает! Пинг просто говорит:

$ ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
From 192.168.1.254 icmp_seq=1 Destination Host Unreachable
From 192.168.1.254 icmp_seq=2 Destination Host Unreachable

Когда мы меняем обратно, все работает, и мы даже можем пинговать eth0.1 от клиента. Как изменить сеть на стороне клиента?

1
задан 13 November 2015 в 12:50
1 ответ

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

#! /bin/bash
modprobe dummy
ip link set name ethvirt dev dummy0
ifconfig ethvirt hw ether 00:22:22:03:02:74
ifconfig ethvirt 192.168.1.254 netmask 255.255.255.0 up

Надеюсь, это поможет!

0
ответ дан 4 December 2019 в 06:52

Теги

Похожие вопросы