Katmera ile WireGuard VPN: Gömülü Cihazlar için Güvenli Uzaktan Erişim
Fabrikadaki Katmera kartınıza ofisten güvenle bağlanmak mı istiyorsunuz? WireGuard VPN'in kurulumu, tünel yapılandırması ve otomatik bağlantı yönetimini adım adım öğrenin. Hızlı, modern ve güvenli.
Katmera ile WireGuard VPN: Gömülü Cihazlar için Güvenli Uzaktan Erişim
Endüstriyel sahalara veya uzak lokasyonlara konuşlandırılan Katmera kartlarını güvenle yönetmek, modern IoT altyapısının temel gereksinimlerinden biridir. WireGuard; geleneksel VPN çözümlerine kıyasla çok daha hızlı, minimal kod tabanı ile daha güvenli ve yapılandırması son derece kolay bir protokoldür. Bu rehberde Katmera kartınıza WireGuard kurarak güvenli bir tünel oluşturmayı adım adım ele alacağız.
WireGuard Neden Tercih Edilmeli?
OpenVPN ve IPsec'e Göre Avantajları
Kurulum
Katmera (Sunucu/Peer) Tarafında
#### WireGuard Kurulumu
sudo apt update
sudo apt install wireguard -y# Kernel modülünü etkinleştir
sudo modprobe wireguard
# Modülün yüklendiğini doğrula
lsmod | grep wireguard
#### Anahtar Çifti Oluşturma
# /etc/wireguard dizinine geç
cd /etc/wireguard# Özel ve genel anahtar oluştur
wg genkey | sudo tee privatekey | wg pubkey | sudo tee publickey
# Anahtarları görüntüle
sudo cat privatekey
sudo cat publickey
#### WireGuard Arayüz Yapılandırması
sudo nano /etc/wireguard/wg0.conf
[Interface]
# Katmera kartının VPN IP adresi
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = # Gelen bağlantılar için iptables kuralları
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# Client Peer (Örnek: Ofis bilgisayarı)
[Peer]
PublicKey =
AllowedIPs = 10.0.0.2/32
#### IP Yönlendirmeyi Etkinleştir
# Kalıcı olarak etkinleştir
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
İstemci (Client) Tarafında
#### Linux/macOS İstemci Kurulumu
# Ubuntu/Debian için
sudo apt install wireguard -y# Anahtar çifti oluştur
wg genkey | tee privatekey | wg pubkey | tee publickey
# /etc/wireguard/wg0.conf (İstemci yapılandırması)
[Interface]
Address = 10.0.0.2/24
PrivateKey =
DNS = 1.1.1.1[Peer]
PublicKey =
# Katmera'nın gerçek IP adresi veya domain adı
Endpoint = katmera-sahasi.ornek.com:51820
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
Tüneli Başlatma ve Yönetme
Manuel Başlatma
# Tüneli başlat
sudo wg-quick up wg0# Durum kontrolü
sudo wg show
# Tüneli durdur
sudo wg-quick down wg0
systemd ile Otomatik Başlatma
# Katmera açıldığında otomatik başlasın
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0# Servis durumunu kontrol et
sudo systemctl status wg-quick@wg0
Bağlantı Durumunu İzleme
# Anlık tünel istatistikleri
sudo wg show wg0# Çıktı örneği:
# interface: wg0
# public key:
# private key: (hidden)
# listening port: 51820
#
# peer:
# endpoint: 192.168.1.100:12345
# allowed ips: 10.0.0.2/32
# latest handshake: 30 seconds ago
# transfer: 1.44 MiB received, 512 KiB sent
Güvenlik Sertleştirmesi
Firewall Kuralları (UFW ile)
# Yalnızca WireGuard portuna izin ver
sudo ufw allow 51820/udp
sudo ufw allow in on wg0# SSH erişimini yalnızca VPN üzerinden al
sudo ufw allow in on wg0 to any port 22
sudo ufw deny 22
sudo ufw enable
Anahtar Rotasyonu
#!/bin/bash
# /usr/local/bin/rotate-wg-keys.shcd /etc/wireguard
OLD_KEY=$(cat privatekey)
wg genkey | tee privatekey | wg pubkey | tee publickey
# Yapılandırmayı güncelle
NEW_PRIVATE=$(cat privatekey)
sed -i "s|PrivateKey = .*|PrivateKey = $NEW_PRIVATE|" wg0.conf
# Tüneli yeniden başlat
systemctl restart wg-quick@wg0
echo "Anahtarlar başarıyla yenilendi: $(date)"
# Her 30 günde bir çalıştır
echo "0 3 1 root /usr/local/bin/rotate-wg-keys.sh" | sudo tee -a /etc/crontab
Çoklu Peer Yönetimi
Birden fazla Katmera kartını veya istemciyi aynı VPN ağında yönetmek için:
# Merkezi WireGuard Sunucusu — wg0.conf
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = # Katmera Kart #1 — Sahada
[Peer]
PublicKey =
AllowedIPs = 10.0.0.10/32
# Katmera Kart #2 — Fabrika
[Peer]
PublicKey =
AllowedIPs = 10.0.0.11/32
# Geliştirici Bilgisayarı
[Peer]
PublicKey =
AllowedIPs = 10.0.0.100/32
Peer'ları Dinamik Olarak Ekleme
# Servisi durdurmadan yeni peer ekle
sudo wg set wg0 peer allowed-ips 10.0.0.20/32# Değişikliği kalıcı kaydet
sudo wg-quick save wg0
Performans Testi
# iperf3 ile WireGuard tünel performansını ölç
# Sunucu tarafında (Katmera):
iperf3 -s# İstemci tarafında:
iperf3 -c 10.0.0.1 -t 30 -P 4
# Beklenen sonuçlar (RK3576 üzerinde):
# [ ID] Interval Transfer Bitrate
# [ 5] 0.00-30.00 sec 890 MBytes 249 Mbits/sec sender
# [ 5] 0.00-30.00 sec 887 MBytes 248 Mbits/sec receiver
Sorun Giderme
Yaygın Hatalar
"RTNETLINK answers: Operation not supported"
# Kernel modülü yüklü değil
sudo apt install linux-headers-$(uname -r)
sudo modprobe wireguard
Handshake gerçekleşmiyor
# Firewall kurallarını kontrol et
sudo iptables -L -n | grep 51820
# UDP portuna erişimi doğrula
sudo tcpdump -i eth0 udp port 51820
Tünel üzerinden ping çalışmıyor
# IP yönlendirme etkin mi?
cat /proc/sys/net/ipv4/ip_forward
# 1 dönmeli; 0 dönüyorsa:
sudo sysctl -w net.ipv4.ip_forward=1
Sonuç
WireGuard, Katmera kartlarının endüstriyel ve uzak konuşlanma senaryolarında güvenli bağlantı gereksinimine ideal bir çözüm sunar. Minimal yapılandırma, yüksek performans ve modern kriptografi ile sahadaki cihazlarınıza her yerden güvenle erişebilir, SSH tünelleri, grafana panelleri ve MQTT broker'larına şifreli bağlantı üzerinden ulaşabilirsiniz.
Bir sonraki adım olarak WireGuard tünelini Tailscale veya Netbird gibi yönetim katmanlarıyla birleştirerek sıfır-dokunuş (zero-touch) cihaz yönetimi altyapısı kurabilirsiniz.
