Bazı durumlarda, internete erişimi olan ancak harici bir IP adresine sahip olmayan yerel ağlardaki cihazlara erişim sağlanması gerekebilir. Ayrıca, birden fazla yerel ağ ve cihaz olabilir. Bu tür senaryolar için çeşitli hizmetler vardır. Bu örnekte, Debian 12 üzerinde VDS sunucusunda PPTP hizmetinin kurulumunu ele alacağız.
Amacımız, VDS sunucusunda, yerel ağlardan cihazların bağlanabileceği ve böylece, sunucunun atanmış bir IP adresine sahip olması nedeniyle uzaktan erişimin mümkün olacağı bir sunucu hizmeti yapılandırmaktır.
Örneğin, ofisinizde veya yazlıkta mobil internet ile bağlanan bir sunucu kurdunuz. Mobil operatörler genellikle bireysel kullanıcılar için sabit, atanmış IP adresleri sağlamaz. Bu sunucuya internet üzerinden bağlanabilmek için, VDS Debian 12 üzerinde PPTP sunucu hizmetini yapılandıracağız ve evdeki sunucunuz da istemci olarak bağlanacaktır.
1. Hizmetlerin Kurulumu
apt install ppp pptpd
1.1 PPTP Hizmet Ayarları - /etc/pptpd.conf
Yerel ağımızı belirleyip yapılandırmayı şu şekilde ayarlıyoruz:
localip 10.10.10.1
remoteip 10.10.10.2-254
Birden fazla harici IP adresi içeren bir sunucu kiraladıysanız, hizmetin hangi IP üzerinden çalışacağını belirten bir satır ekleyebilirsiniz:
listen harici_internet_ip
1.2 /etc/ppp/pptpd-options Dosyasına Seçenekler Ekleme
mtu 1400
mru 1400
auth
require-mppe
Gerekirse aşağıdaki DNS ayarlarını düzenleyin:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
1.3 /etc/sysctl.conf Dosyasında Ayarları Düzenleyin
net.ipv4.ip_forward=1
Ayarları uygulayın:
sysctl -p
1.4 Güvenlik Duvarı Ayarları - iptables Kullanımı
apt install iptables
1.4.1 Kurallar Ekleyin (eth0, dış arayüzün adı)
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
1.4.2 Bağlı İstemciler Arasında Yerel Ağ Etkinleştirme (eth0, dış arayüzün adı)
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.10.10.0/24 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface eth0 -j ACCEPT
1.4.3 İnternet Erişimini Kısıtlama
Yalnızca yerel ağların birleştirilmesi ve yerel cihazlara erişim için gerekli olduğunda, cihazların kendi internet bağlantılarını kullanmaya devam etmesi için şu kuralı ekleyin (eth0, harici IP arayüzü).
iptables -I FORWARD -s 10.10.10.0/24 -o eth0 -j DROP
İstemci tarafında Uzak ağda varsayılan ağ geçidini kullan seçeneğinin işaretini kaldırmanız gerekecek. Yerel ağları birleştiriyoruz ancak internet erişimi, VDS sunucusu yerine yerel sağlayıcıdan yapılacak.
1.4.4 Kuralları Kaydetme
iptables-save > /etc/iptables.conf
1.4.5 Kuralları Başlangıçta Yükleme (dosya /etc/network/interfaces sonuna ekleyin)
pre-up /sbin/iptables-restore < /etc/iptables.conf
1.5 Kullanıcıları /etc/ppp/chap-secrets Dosyasına Ekleme
Bu örnekte user1 kullanıcısına rastgele bir IP atanırken, user2 kullanıcısı statik bir IP alacaktır.
user1 pptpd password1 "*"
user2 pptpd password2 "10.10.10.10"
1.6 Hizmeti Başlangıca Ekleme ve Ayarları Uygulama
systemctl enable pptpd
service pptpd restart
2. Aktif Bağlantıları Görüntüleme
Tüm aktif bağlantıları ve IP adreslerini aşağıdaki komutlarla görüntüleyebilirsiniz.
2.1 ifconfig Kullanarak
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1396
inet 10.10.10.1 netmask 255.255.255.255 destination 10.10.10.2
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 323 bytes 49503 (48.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 626 (626.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ppp1: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1396
inet 10.10.10.1 netmask 255.255.255.255 destination 10.10.10.10
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 24 bytes 896 (896.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24 bytes 890 (890.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.2 route Kullanarak
10.10.10.2 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.10.10.10 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1
2.3 service pptpd status Kullanarak
pptpd.service - PoPToP Point to Point Tunneling Server
Loaded: loaded (/lib/systemd/system/pptpd.service; enabled; preset: enabled)
Active: active (running) since Thu 2024-03-07 13:42:51 MSK; 4h 5min ago
Docs: man:pptpd(8)
man:pptpctrl(8)
man:pptpd.conf(5)
Main PID: 480 (pptpd)
Tasks: 5 (limit: 1099)
Memory: 4.3M
CPU: 9.462s
CGroup: /system.slice/pptpd.service
├─480 /usr/sbin/pptpd --fg
├─605 "pptpd [123.123.123.123:97EE - 0400]"
├─606 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 10.10.10.1:10.10.10.3 ipparam 123.123.123.123 plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip 123.123.123.123>
├─986 "pptpd [123.123.123.123:D114 - 0580]"
└─987 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 10.10.10.1:10.10.10.2 ipparam 123.123.123.123 plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip 123.123.123.123>
Sunucu ayarlanmış ve bağlantılar için hazırdır.
Ayrıca bakınız:
- Debian 12 Çalışma İstasyonuna Uzak Erişim İçin PPTP İstemcisi Ayarı
- Windows 10 Çalışma İstasyonuna Uzak Erişim İçin PPTP İstemcisi Ayarı