Дано:
Есть hostA, который воткнут в каталист, в trunk (т.е. тегированный) порт, инкапсуляция 802.1q.
Есть hostB, который маршрут до hostA. маршрут живой, ip-пакеты между хостами безпроблемно бегают.
Задача: надо с hostA "притащить" виланы на hostB.
Решение: vtund + bridge.
описание клиента в vtund.conf
homepeer {
passwd qwerty;
type ether;
device home;
proto tcp;
compress yes;
stat yes;
persist yes;
up {
ifconfig "%% up";
program "brctl addbr br0";
program "brctl addif br0 %%";
program "brctl addif br0 eth0";
ifconfig "br0 up";
};
down {
ifconfig "%% down";
ifconfig "br0 down";
program "brctl delbr br0";
};
}
описание пира из конфига сервера
homepeer {
passwd qwerty; # Password
type ether; # Ethernet tunnel
device work; # Device tap1
proto tcp;
compress yes;
up {
ifconfig "%% up";
};
down {
ifconfig "%% down";
};
}
Теперь на той Linux машине, куда кидаем порт:
vconfig set_name_type VLAN_PLUS_VID_NO_PAD
vconfig add work 4
ifconfig vlan4 10.1.1.1 netmask 255.255.255.0 up
vconfig add vlan4 8
ifconfig vlan8 192.168.1.1 netmask 255.255.255.0 up
Замечание:
Клиент - хост, с которого мы тащим порт. Он живёт в серой сети и имеет выход в internet через NAT.
Сервер - машина с публичным ip.
|