-
OpenVPN 2.0 bridge network
Dostałem ostatnio ambitne zadanie, aby ujednolicić adresację dodatkowego interfejsu serwera z siecią lokalną klienta korzystającego z OpenVPN-a. Wydaje się skomplikowane, ale …. nie jest tak źle.
Załóżmy, że posiadamy serwer VPN z dwoma interfejsami:
– eth0 (publiczny z IP 37.233.99.91)
– eth1 (prywatny z IP 10.82.115.11)
Komputer klienta też posiada dwa interfejsy:
– eth0 (publiczny z IP 37.213.59.9)
– eth1 (prywatny z IP 10.82.115.12)
Inny komputer, który będzie podłączony po VPN-ie posiada jeden interfejs (na razie):
– eth0 (publiczny z IP 37.213.59.9)
Najważniejsze są dwa skrypty, które przyznaje pobrałem ze strony projektu OpenVPN. Poniżej linki do pobranie wspomnianych skryptów:
bridge-start
bridge-stop
Jeśli mamy już skrypty, to bierzmy się za konkrety. Zakładam, że posiadamy już działającego OpenVPN, tylko, że bez bridge. Edytujemy plik konfiguracyjny serwera OpenVPN, w moim przypadku „/etc/openvpn/server.conf”.
Zakomentowujemy poniższą linię:
server 10.8.0.0 255.255.255.0
Odkomentowujemy/dopisujemy poniższą linię:
server-bridge ip_interfejsu_bridge_serwera_openvpn maska pierwszy_przydzielany_ip ostatni_przydzielany_ip
w naszym przypadku:
server-bridge 10.82.115.11 255.255.255.0 10.82.115.20 10.82.115.30
Ustawiamy interfejs dla VPN-a dopisując poniższą linię (pamiętając, że musi być tap, a nie tun):
dev tap0
Warto jeszcze wymusić routing:
push "route 10.82.115.0 255.255.255.0"
Zapisujemy i zatrzymujemy usługę jeśli jest uruchomiona:service openvpn stop
dla CentOS 4,5,6
systemctl stop openvpn
dla CentOS 7
Czas wystartować:
1. Uruchamiamy skrypt „bridge-start.sh”.
2. Odpalamy OpenVPN-a.
Sprawdźmy interfejsy na naszym serwerze.ifconfig
Wygląda, że działa 🙂
Na komputerze klienckim, trzeba pamiętać, aby w konfigu OpenVPN, wpisany był interfejs „dev tap”. Reszta ustawień pozostaje bez zmian. Maszyna kliencka powinna otrzymać adres IP z zakresu: 10.82.115.20-10.82.115.30. Teraz możemy cieszyć się jednakową adresacją w sieci lokalnej i vpn 🙂
Dziękuję pożyteczny tutorial ;-).