Pazartesi, Kasım 4, 2024

Centos 7 Üzerine OpenVPN Kurulumu

temsili yüksek çözünürlüklü centos openvpn gorseli

İnternetin gidişatı için VPN in mantığını ve önemini bu makalede anlatacak değilim konuya direk girmek lazım VPN şifreli bir network sunar böylelikle güvenliğinizi ve gizliliğinizi sağlayabilirsiniz.

epel depolarını sistemimize eklememiz gerekecek yoksa openvpn paketlerini kuramayız bunun için aşağıdaki yönergeleri takip edin

yum install epel-release -y

bu işlemimizden sonra OpenVPN kurulumu için komutumuzu veriyoruz.

yum install openvpn wget -y

OpenVPN in haberleşmesi ve bağlantıyı şifrelemesi içinde Easy RSA kurmamız lazım bunu eski depodakini kullanarak yakacağız.

wget -O /tmp/easy_rsa https://github.com/OpenVPN/easy-rsa2.3.3.tar.gz

indirdiğimiz bu easy-rsa’yı tar.gz dosyasından çıkartıyoruz.

tar xfz /tmp/easy_rsa

Gereken adımları takip ederek devam ediyorsunuz.

sudo mkdir /etc/openvpn/easy-rsa
sudo cp -rf easy-rsa-old-2.3.3/easy-rsa/2.0/* /etc/openvpn/easy-rsa
sudo chown -R mertcan:mertcan /etc/openvpn/easy-rsa/

en önemli noktamıza geldik ayar dosyası oluşturmamız lazım ama önce yedek yapalım ve gereken yerlere dosyamızı taşıyalım

sudo cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn

hemen sonrasında yapacağımız şey dosyamızı açmak aşağıdaki çoğu işlemi bu dosya içerisinde yapacağız aklınızda olsun

nano /etc/openvpn/server.conf

açtığımızda karşımıza bir sürü satır gelecek değiştirmemiz gereken yer var dh diye bir satır göreceksiniz bunun ismini dh2048.pem yapıyoruz.

dh dh2048.pem

işlem bitiminde networkdeki tüm trafiği VPN yönlendirmemiz lazım ki bağlantı şifrelensin bunun için ise

push "redirect-gateway def1 bypass-dhcp"

hemen ardından DNS sunucularını değiştirmek lazım böylelikle işimiz biraz daha kolay olabilir DNS sorgularında sıkıntı çekmemiş oluruz ve birazda sorgularımız hızlanır

push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

kullanıcımızı kimsesiz yapalım hemen

user nobody
group nobody
topology subnet
remote-cert-eku "TLS Web Client Authentication"

TLS auth için işlemlerimiz var bunları şu şekilde yapabilirsiniz server.conf içerisine eklemenizi yapınız.

tls-auth ta.key 0
tls-crypt auth_key.tlsauth

anahtarı oluşturalım

sudo openvpn --genkey --secret /etc/openvpn/auth_key.tlsauth

yukarıdaki yazanları server.conf dosyamıza kayıt ettikten yada gereken satırları yukarıdaki ayarlara göre değiştirip kayıt ettikten sonra bir sonraki aşamamıza geçebiliriz. Geçtiğimiz bu aşamada sisteme sertifika ürettiriyoruz böylelikle bağlantımız güzel bir şekilde güvenli ve şifreli hale gelecek.

mkdir -p /etc/openvpn/easy-rsa/keys
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
nano /etc/openvpn/easy-rsa/vars

komutlarınının bitiminde vars nano aracılığı ile açmıştık. KEY_ ile başlayan bazı satırlar göreceksiniz orda onların hepsini kafanıza göre doldurun.yada doğru bilgilerinizi girin

. . .
export KEY_COUNTRY="TR"
export KEY_PROVINCE="TR"
export KEY_CITY="Ankara"
export KEY_ORG="mertcan"
export KEY_EMAIL="[email protected]"
export KEY_OU="Community"
export KEY_NAME="server"
export KEY_CN=openvpn.umertcangokgoz.com
. . .

versiyonumuzu kaldıralım belli olmaz uyuşmazlık yapabilir belirli bir isim verelim

cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf

şimdi sertifikamızı tam olarak oluşturmaya geldi sıra

cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh

yukarıdaki işlemlerin tamamlanması yaklaşık bi 3 dknızı alacaktır bu işlemlerin bitiminde oluşan dosyaları openvpn klasörü içerisine kopyalıyoruz.

cd /etc/openvpn/easy-rsa/keys
cp dh2048.pem ca.crt server.crt server.key /etc/openvpn

son olarak client tarafında ufak bi ayara

cd /etc/openvpn/easy-rsa
./build-key client

işlemimiz böylelikle kurulum aşamasında sonlanmış oluyor bundan sonra geriye yönlendirme ve yetkilendirme kaldı

yum install iptables-services -y
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables
iptables --flush

tertemiz bir firewall ayarlarına merhaba diyoruz ve yapmamız gerekenleri sırasıyla yapıyoruz ilk olarak ip aralıklarını firewall onaylatmak

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

yaptığımız bu onaylatma işlemini kayıt edelim ki sonra sıkıntı çıkartmasın başımıza

iptables-save > /etc/sysconfig/iptables

ip yönlendirmeyi açmamız lazım ipv4 için bunu da aşağıdakileri yaparak halledebilirsiniz.

nano /etc/sysctl.conf

aşağıdaki gibi yapıyoruz içerisindekini

net.ipv4.ip_forward = 1

ve bi restart atıyoruz network servisine

systemctl restart network.service

OpenVPN başlatmaya geldi sıra sabırla bu işlemleri yaptıysanız sona yaklaşmanıza az bir işlem kalmış demektir sabredin

systemctl -f enable [email protected]
systemctl start [email protected]

yukarıda clienti ayarlamaktan bahsetmiştim az bir kısmını yapmıştık şimdi onuda sonlandırmamız gerekiyor böylelikle bilgisayarımızdan bağlanabilelim VPN imize

Aşağıdakileri bir şekilde bilgisayarınıza kopyalayın bunu kullanırken SFTP ile yapabilirsiniz WinSCP önerilir.

/etc/openvpn/easy-rsa/keys/ca.crt
/etc/openvpn/easy-rsa/keys/client.crt
/etc/openvpn/easy-rsa/keys/client.key

yukarıdakileri sisteminize kopyaladıktan sonra .ovpn dosyası oluşturmanız gerekiyor aşağıdaki yönergeyi takip ederek yapabilirsiniz.tek yapılacak olan dosya yollarını ve ip adresini belirleyip kaydetmek

client
dev tun
proto udp
remote sunucunuzun ip adresi 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
ca dosya yolu/ca.crt
cert dosya yolu/client.crt
key dosya yolu/client.key

hata almadan son aşamaya kadar geçebildiyseniz. Windows için OpenVPN kurmak ve yukarıda oluşturmuş olduğunuz .ovpn dosyasını C:Program FilesOpenVPNconfig yoluna atmak sonrasında programdan kolaylıkla bağlanabilirsiniz.