Vyatta Core, yani ücretsiz olan router versiyonu, IPSEC ve OPENVPN yardımı ile site-to-site vpn çözümüne destek vermektedir. Firmanız büyüdü ve farklı bir lokasyonda sizden şube bilgi sistem altyapınızı hazırlamanızı istediler. Fakat her zamanki gibi en ekonomik hatta olabiliyorsa ücretsiz bir çözüm olması şarttı. Tam bu isteğe cevap verebilecek ve toplamda sadece 41 komut (21+20) ile bu altyapıyı hazırlayabileceğiniz çözümü Vyatta Core ile yapabilirsiniz.
Senaryomuz şekildeki gibi olsun ve daha önce sitede yayınlanan iki bölümlük makale refarans alınarak vyatta routerların kurulmuş olduğunu varsayalım.
Main Site ve Remote Site, Router IP konfigurasyonu aşağıdaki gibi yapılmalıdır.
Main Site :
set system host-name "MainSite"
set interfaces ethernet eth0 address 192.168.1.1/24
set interfaces ethernet eth0 description "Main-Internal"
set interfaces ethernet eth1 address 192.168.17.1/28
set interfaces ethernet eth1 description "Main-External"
set system gateway-address 192.168.17.1
set nat source rule 1 outbound-interface eth1
set nat source rule 1 source address 192.168.1.1/24
set nat source rule 1 translation address masquerade
commit
save
Remote Site :
set system host-name "RemoteSite"
set interfaces ethernet eth0 address 192.168.3.1/24
set interfaces ethernet eth0 description "Remote-Internal"
set interfaces ethernet eth1 address 192.168.28.1/28
set interfaces ethernet eth1 description "Remote-External"
set system gateway-address 192.168.28.1
set nat source rule 1 outbound-interface eth1
set nat source rule 1 source address 192.168.3.1/24
set nat source rule 1 translation address masquerade
commit
save
Bu işlemden sonra her iki router bir birlerinin dış interfacelerine (eth1) ping atabilmelidir. Tabi arada firewall gibi bir cihaz yok ise.
Her iki router da aşağıdaki komutlar yardımı ile SSH servisini açıyoruz ve root kullanıcısına erişim yetkisi tanımlıyoruz.
set service ssh
set service ssh allow-root
set system login user root authentication plaintext-password Password1234
commit
Routerların, bir birleri ile etkileşimde kullanacak oldukları anahtarı üretiyoruz. Bu işlemi sadece MainSite da yapıyoruz.
NOT: Anahtarın oluşturulmuş olduğu klasör upgrade işlemleri sırasında korunmamaktadır. Bu işlemler öncesi anahtarın yedeği alınmalı yada farklı bir klasörde anahtar saklanmalıdır.
generate openvpn key /etc/openvpn/key.psk
Oluşturulan anahtar WinSCP yada farklı yöntemler ile Remote-Site’a taşınmalıdır. Ben yazımda kolay olması sebebiyle WinSCP programını kullandım ve route kullanıcısı ile her iki routerda oturum açarak taşıma işlemini başlattım.
Sırasıyla routerlar da aşağıdaki komutları çalıştırıyoruz.
Main Site :
set interfaces openvpn vtun0 mode site-to-site
set interfaces openvpn vtun0 local-address 172.16.1.1
set interfaces openvpn vtun0 remote-address 172.16.1.2
set interfaces openvpn vtun0 remote-host 192.168.28.1
set interfaces openvpn vtun0 shared-secret-key-file /etc/openvpn/key.psk
commit
save
Remote Site :
set interfaces openvpn vtun0 mode site-to-site
set interfaces openvpn vtun0 local-address 172.16.1.2
set interfaces openvpn vtun0 remote-address 172.16.1.1
set interfaces openvpn vtun0 remote-host 192.168.17.1
set interfaces openvpn vtun0 shared-secret-key-file /etc/openvpn/key.psk
commit
save
Tüneli oluşturduğuktan sonra her iki routerda networkleri tanıtan static route komutu giriyoruz.
Main Site :
set protocols static route 192.168.3.0/24 next-hop 172.16.1.2
Remote Site :
set protocols static route 192.168.1.0/24 next-hop 172.16.1.1
Bu komutlar sonrası her routera bağlı olan LAN networkleri birbirleriyle sorunsuz haberleşebilecektir.
Tunelin ayakta olduğunu ve bağlantı durumunu görmek için “tail -f /var/log/messages” komutu kullanılabilir. Vyatta önünde herhangi bir modem, firewall gibi cihazlar var ie 1194 portu vyatta dış interface ‘ine yönlendirilmelidir.
İki routerda yapılan komutların topluca hali aşağıdadır.
Main Site :
set system host-name "MainSite"
set interfaces ethernet eth0 address 192.168.1.1/24
set interfaces ethernet eth0 description "Main-Internal"
set interfaces ethernet eth1 address 192.168.17.1/28
set interfaces ethernet eth1 description "Main-External"
set system gateway-address 192.168.17.1
set nat source rule 1 outbound-interface eth1
set nat source rule 1 source address 192.168.1.1/24
set nat source rule 1 translation address masquerade
set service ssh
set service ssh allow-root
set system login user root authentication plaintext-password Password1234
generate openvpn key /etc/openvpn/key.psk
set interfaces openvpn vtun0 mode site-to-site
set interfaces openvpn vtun0 local-address 172.16.1.1
set interfaces openvpn vtun0 remote-address 172.16.1.2
set interfaces openvpn vtun0 remote-host 192.168.28.1
set interfaces openvpn vtun0 shared-secret-key-file /etc/openvpn/key.psk
set protocols static route 192.168.3.0/24 next-hop 172.16.1.2
commit
save
Remote Site :
set system host-name "RemoteSite"
set interfaces ethernet eth0 address 192.168.3.1/24
set interfaces ethernet eth0 description "Remote-Internal"
set interfaces ethernet eth1 address 192.168.28.1/28
set interfaces ethernet eth1 description "Remote-External"
set system gateway-address 192.168.28.1
set nat source rule 1 outbound-interface eth1
set nat source rule 1 source address 192.168.3.1/24
set nat source rule 1 translation address masquerade
set service ssh
set service ssh allow-root
set system login user root authentication plaintext-password Password1234
set interfaces openvpn vtun0 mode site-to-site
set interfaces openvpn vtun0 local-address 172.16.1.2
set interfaces openvpn vtun0 remote-address 172.16.1.1
set interfaces openvpn vtun0 remote-host 192.168.17.1
set interfaces openvpn vtun0 shared-secret-key-file /etc/openvpn/key.psk
set protocols static route 192.168.1.0/24 next-hop 172.16.1.1
commit
save
Umarım faydalı bir makale olmuştur. Bir sonraki makalemde görüşmek üzere.