Доброго времени суток.
Стоит не тривиальныя задача, через канал E1 передать на 300 км несколько тегированных VLAN.
Оборудование оператора не позволяет сделать это прозрачно (MTU((( ).
К сожалению не имелось лишних сетевых карт, по-этому пришлось проделывать на интерфейсе с теггированными VLAN
В целях реализации настоящего канала был собран след. стенд:ПК1 <--> ПК2
Итак, на обих пк стоит Ubuntu.
НА ПК1 (Сервер для VPN, него пробрасывается тегированный порт)
vconfig add eth0 50 - этот влан для организации VPN (т.е.) имитирует канал оператора связи.
vconfig add eth0 51 - на этот порт буду пробрасывать VLAN, на порту коммутатора он отключен.
ifconfig eth0.50 192.168.0.1/24 up
ifconfig eth0.51 192.168.2.2/24 up
создаю мост, завожу порт, на который хочу принять VLAN (наличие адреса на нем
мешать не должно, я и собираюсь увидить с 3 - машине, на коммутаторе, заведенной в 51 vlan).
brctl addbr br0
brctl addif br0 eth0.51
НА ПК2 (Клиент для VPN, через пробрасывается тегированный порт)
vconfig add eth0 50 - этот влан для организации VPN (т.е.) имитирует канал оператора связи.
vconfig add eth0 51 - номер Vlan подан на коммутаторе.
ifconfig eth0.50 192.168.0.2/24 up
ifconfig eth0.51 0.0.0.0 - этот интенрфейс только для мотса.
brctl addbr br0
brctl addif br0 eth0.51
Интерфейсы в 50-влане друг - друга видят.
дале поднимаю VPN, конфиг привожу ниже.
Для сервера:
options {
port 5000; # Listen on this port.
# Syslog facility
syslog daemon;
# Path to various programs
ppp /usr/sbin/pppd;
ifconfig /sbin/ifconfig;
route /sbin/route;
firewall /sbin/ipchains;
ip /sbin/ip;
}
# Default session options
default {
compress no; # Compression is off by default
speed 0; # By default maximum speed, NO shaping
}
lion {
passwd Ma&^TU; # Password
type ether; # Ethernet tunnel
device tap1; # Device tap0
proto udp; # UDP protocol
compress lzo:1; # LZO compression level 1
encrypt yes; # Encryption
stat yes; # Log connection statistic
keepalive yes; # Keep connection alive
up {
# Connection is Up
# Assign IP address
#ifconfig "%% 10.1.0.1 netmask 255.255.255.0";
#program "echo start";
# Add route to net 10.2.0.0/24
#route "add -net 10.2.0.0 netmask 255.255.255.0 gw 10.1.0.2";
# Enable masquerading for net 10.2.0.0.0/24
#firewall "-A forward -s 10.2.0.0/24 -d 0.0.0.0/0 -j MASQ";
ifconfig "%% up";
#program "brctl addbr br0";
#program "brctl addif br0 %%";
};
down {
# Connection is Down
# Shutdown tap device.
ifconfig "%% down";
# Disable masquerading for net 10.2.0.0.0/24
#firewall "-D forward -s 10.2.0.0/24 -d 0.0.0.0/0 -j MASQ";
};
}
На КЛИЕНТЕ
options {
port 5000; # Connect to this port.
timeout 60; # General timeout
# Path to various programs
ppp /usr/sbin/pppd;
ifconfig /sbin/ifconfig;
route /sbin/route;
firewall /sbin/ipchains;
ip /sbin/ip;
}
lion {
passwd Ma&^TU; # Password
type ether; # Ethernet tunnel
proto tcp; # Не знаю почему, но работает только если задан TCP.
device tap1; # Device tap1
up {
# Connection is Up
# Assign IP address and netmask.
ifconfig "%% up";
};
down {
# Connection is Down
# Shutdown tap device
ifconfig "%% down";
};
}
VTUND -s - На сервере
VTUND -p lion 192.168.0.1 - на клиенте.
Тунель поднят, ifconfig на клиенте и сервере показывает все интерфейсы.
Далее на обих
brctl addif br0 tap1
ifconfig br0 up.
Теперь логически схема которая должна зарабоать
ПК1 <-VALN 50 tagget -> [SWITCH] <-VALN 50 tagget (поднят тунель)-> ПК2 <- VLAN 51 taget> [SWITCH]<- VLAN 51 untagget-> ПК3
При таких настройках ПК3 не видит ПК1 , т.е. в данные сети 192.168.2.0/24 не проходят по через тунель.
Есть кто решал подобные задачи?
Очень надо, закупка цевилизованных железок будет в след. году только(((
людям в новом офисе работать надо.
Сам давно занимаюсь деятельности не связанной с сетями, решил попытаться упростить жизнь колегам в другом городе.