Ethernet over openvpn vyos

Материал из xapmc.net
Перейти к: навигация, поиск
Задача
Объединить сети через интернет в один широковещательный домен с должным уровнем шифрования. В одной из сетей используется NAT и DHCP
Решение
Воспользуемся для объединения сетей технологией openvpn и операционной системой vyos.
Оборудование, которым располагаем
Вендор Модель
1. Mikrotik RB2011iL-IN
2. Vyos VyOS 1.1.5 server
3. Vyos VyOS 1.1.5 client
4. HP 1810g
3. Cisco 3750x
Схема сети

Openvpn l2.png

Настройка
Mikrotik RB2011iL-IN
Приведу только базовые настройки, необходимые для доступа к Internet. Вместо x.x.x.x нужно подставить свои значения.
/ip address
add address=x.x.x.x/24 interface=ether1-gateway network=x.x.x.0
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1-gateway
/ip route
add distance=1 gateway=x.x.x.x
/ip dhcp-server network
add address=192.168.2.0/24 comment=xapmc dns-server=192.168.2.1 gateway=192.168.2.1
/ip pool
add name=dhcp ranges=192.168.2.55-192.168.2.155
Vyos client
Интерфейс eth0 получает все настройки через DHCP. То есть он получает: адрес, шлюз, dns.
Для начала эксплуатации туннеля нам необходимо создать сертификаты сервера и клиента с помощью openssl.
Ссылка как это сделать http://jasonschaefer.com/openvpn-on-vyos/
Создадим интерфейс vtun0. Укажем режим client. Укажем адрес сервера и сертификаты.
Для того чтобы пробросить l2 трафик необходимо создать bridge интерфейс br0 и добавить туда два интерфейса. Добавим в bridge eth1 и vtun0.
set interfaces bridge br0 
set interfaces bridge br0 stp false
set interfaces ethernet eth0 address dhcp
set interfaces ethernet eth1 bridge-group bridge br0
set interfaces openvpn vtun0 bridge-group bridge br0
set interfaces openvpn vtun0 mode client
set interfaces openvpn vtun0 remote-host 1.1.1.2
set interfaces openvpn vtun0 tls ca-cert-file /config/auth/ca.crt
set interfaces openvpn vtun0 tls cert-file /config/auth/joinuser.crt
set interfaces openvpn vtun0 tls key-file /config/auth/joinuser.key
commit
save
Vyos server
Так же как и для клиента настроем bridge интерфейс br0 и добавим в него два интерфейса eth1 и vtrun0.
Укажем режим server. Настроем адресацию. Пропишем пути до наших сертификатов.
Укажем default route.
set interfaces bridge br0 
set interfaces bridge br0 stp false
set interfaces ethernet eth1 bridge-group bridge br0
set interfaces ethernet eth2 address 1.1.1.2/24
set interfaces openvpn vtun0 bridge-group bridge br0
set interfaces openvpn vtun0 mode server
set interfaces openvpn vtun0 server subnet 172.16.32.0/24
set interfaces openvpn vtun0 tls dh-file /config/auth/dh1024.pem
set interfaces openvpn vtun0 tls ca-cert-file /config/auth/ca.crt
set interfaces openvpn vtun0 tls cert-file /config/auth/joinbox.crt
set interfaces openvpn vtun0 tls key-file /config/auth/joinbox.key
set protocols static route 0.0.0.0/0 next-hop 1.1.1.1
commit
save
Настройка cisco 3750
conf t
vlan 902
interface GigabitEthernet2/0/21
 switchport access vlan 902
 switchport mode access

interface GigabitEthernet2/0/22
 switchport access vlan 902
 switchport mode access
HP 1810g
Так как у hp1810g нет cli, то вывод команд не будет. У этого коммутатора управление только через http.
Надо создать vlan 901, и добавить в этот vlan порты 2,3,4,24.
Проверка
Vyos server

show openvpn server status

OpenVPN server status on vtun0 [JOINBOX]

Client CN       Remote IP       Tunnel IP       TX byte RX byte Connected Since
---------       ---------       ---------       ------- ------- ---------------
joinuser        xx.xx.xx.xx   00:50:56:93:1a:0f    4.7M    4.6M Fri Sep 18 17:01:46 2015
Vyos client

show openvpn client status

OpenVPN client status on vtun0 []

Server CN       Remote IP       Tunnel IP       TX byte RX byte Connected Since
---------       ---------       ---------       ------- ------- ---------------
N/A             xx.xx.xx.xx   N/A                7.6M    7.6M N/A
ICMP отработал тоже

Icmp openvpn l2.png

Задача решена.