Merhaba arkadaşlar,
Python dilinde, internetten yardım alarak bir VPN yazmaya çalışıyorum. OpenVPN aracılığıyla çoğu şeyi hallolmuş durumda, VPN'i çalıştırdığımda "tun0" ekleniyor farklı IP adresi mevcut her şey tamam fakat internete bağlanamıyorum. Yabancı kaynaklarda "eth0" internetini tun0'a yönlendirmem gerektiği bunun için de config dosyama bir kod eklemem gerektiği söyleniyor fakat config dosyam yok, her şey python dosyasında yazılı. Sizce ne yapmam gerek ? önerisi olan var mı ?
Aşağıya kodu ve görseli bırakıyorum.

Yardımlarınız için şimdiden teşekkürler
Python dilinde, internetten yardım alarak bir VPN yazmaya çalışıyorum. OpenVPN aracılığıyla çoğu şeyi hallolmuş durumda, VPN'i çalıştırdığımda "tun0" ekleniyor farklı IP adresi mevcut her şey tamam fakat internete bağlanamıyorum. Yabancı kaynaklarda "eth0" internetini tun0'a yönlendirmem gerektiği bunun için de config dosyama bir kod eklemem gerektiği söyleniyor fakat config dosyam yok, her şey python dosyasında yazılı. Sizce ne yapmam gerek ? önerisi olan var mı ?
Aşağıya kodu ve görseli bırakıyorum.

Python:
# -*- coding: utf-8 -*-
import subprocess, optparse, re, sys, signal, tempfile, time, base64, requests
try:
vpn_data = requests.get('http://www.vpngate.net/api/iphone/').text.replace('\r', '')
servers = [line.split(',') for line in vpn_data.split('\n')]
labels = servers[1]
labels[0] = labels[0][1:]
servers = [s for s in servers[2:] if len(s) > 1]
desired = [s for s in servers if country.lower() in s[i].lower()]
found = len(desired)
if found == 0:
print("Sunucu bulunamadı")
print(country + ' ülkesinde ' + str(found) + ' sunucu bulundu')
supported = [s for s in desired if len(s[-1]) > 0]
print('Sunucuların ' + str(len(supported)) + ' tanesi OpenVPN tarafından destekleniyor')
winner = sorted(supported, key=lambda s: float(s[2].replace(',', '.')), reverse=True)[0]
print("\n** Hızınıza Uygun En İyi Sunucu **")
pairs = list(zip(labels, winner))[:-1]
for (l, d) in pairs[:4]:
print(l + ': ' + d)
print(pairs[4][0] + ': ' + str(float(pairs[4][1]) / 10 ** 6) + ' MBps')
print("Country: " + pairs[5][1])
print("\nVPN çalıştırılıyor...")
_, path = tempfile.mkstemp()
f = open(path, 'w')
f.write(base64.b64decode(winner[-1]).decode("utf-8"))
f.write('\nscript-security 2\nup /etc/openvpn/update-resolv-conf\ndown /etc/openvpn/update-resolv-conf')
f.close()
subprocess.call(['iptables', '-t', 'nat', "-A", "POSTROUTING", "-s", "10.0.2.1/24", "-o", "-eth0", "-j", "MASQUERADE"])
x = subprocess.Popen(['sudo', 'openvpn', '--config', path])
try:
while True:
time.sleep(600)
except:
try:
x.kill()
except:
pass
print('\nVPN kapatıldı')
except:
print('VPN sunucularına erişim sağlanamadı')
Yardımlarınız için şimdiden teşekkürler

