BestChat

 

 

إعداد WireGuard VPN داخل LXC مع NAT وحماية متقدمة

في هذا الدليل، سنشرح إعداد WireGuard VPN على حاوية LXC في بيئة Proxmox VE متصلة بشبكتين:

  • شبكة LAN: 192.168.100.0/24
  • شبكة عامة: 203.0.113.105/26 (آيبي مفترض)

1. إعداد شبكة LXC

net0: name=eth0,bridge=vmbr1,ip=192.168.100.199/24,type=veth
net1: name=eth1,bridge=vmbr0,ip=203.0.113.105/26,gw=203.0.113.65,type=veth

2. إعداد الشبكة داخل الكونتينر

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.100.199/24
    gateway 192.168.100.1
    post-up ip addr add 203.0.113.105/26 dev eth0
    post-down ip addr del 203.0.113.105/26 dev eth0

auto eth1
iface eth1 inet static
    address 203.0.113.105/26
    gateway 203.0.113.65

3. تكوين WireGuard

[Interface]
PrivateKey = <private-key>
Address = 10.11.11.1/24
ListenPort = 51820
MTU = 1420

[Peer]
PublicKey = <peer-public-key>
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21

4. تفعيل NAT والتوجيه

iptables -t nat -A PREROUTING -d 203.0.113.105 -p udp --dport 51820 -j DNAT --to-destination 192.168.100.199:51820
iptables -t nat -A POSTROUTING -s 192.168.100.199 -o vmbr0 -j MASQUERADE

apt install iptables-persistent -y
netfilter-persistent save

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

5. حماية الكونتينر

لغلق كل المنافذ ما عدا WireGuard:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p udp --dport 51820 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

لحماية من الهجمات والاستغلالات:

iptables -A INPUT -p udp --dport 51820 -m recent --update --seconds 60 --hitcount 10 --name WGABUSE -j DROP
iptables -A INPUT -p udp --dport 51820 -m recent --set --name WGABUSE -j ACCEPT
iptables -A INPUT -p udp --dport 51820 -m limit --limit 15/minute --limit-burst 30 -j ACCEPT

netfilter-persistent save

6. إعداد الأجهزة الداخلية

ip route add 10.11.11.0/24 via 192.168.100.199 dev eth1
echo "net.ipv4.conf.eth1.send_redirects=0" >> /etc/sysctl.conf
sysctl -p

7. الختبار

ping 203.0.113.105
nc -zv 203.0.113.105 51820
ping 10.11.11.1

8. ربط شبكتين داخليتين

من خلال Peer جديد:

[Peer]
PublicKey = <branch-B-key>
AllowedIPs = 192.168.200.0/24
Endpoint = branch-B.example.com:51820
PersistentKeepalive = 21

ومع توجيه في كل فرع:

ip route add 192.168.200.0/24 via 10.11.11.X dev wg0

الخلاصة

بنجاح هذا الإعداد، يمكنك تشغيل WireGuard في كونتينر يدعم:

  • تواصل LAN + Internet
  • العمل كجسر VPN مع نظام NAT
  • غلق جميع المنافذ ما عدا 51820/UDP
  • ربط فروع وشبكات متعددة بأمان
Was this answer helpful? 0 Users Found This Useful (0 Votes)

Powered by WHMCompleteSolution