Ето подреденият текст с по-добра четливост и структура:
---
# **Настройка на VPN сървър с Raspberry Pi**
Използването на **Raspberry Pi** като **VPN сървър** е **евтин и ефективен** начин за:
✅ **Сигурен интернет трафик**
✅ **Достъп до домашната мрежа отдалечено**
✅ **Обикаляне на географски ограничения**
Тук ще намерите **стъпка по стъпка** ръководство за настройка на **OpenVPN** или **WireGuard** (два популярни VPN протокола).
---
## ** Вариант 1: OpenVPN на Raspberry Pi**
OpenVPN е **надежден, с отворен код** и подходящ за различни устройства.
### ** Изисквания**
- Raspberry Pi (препоръчително **Raspberry Pi 4** за по-добра скорост)
- MicroSD карта (**16GB+**)
- Инсталирана **Raspberry Pi OS**
- Стабилна интернет връзка
- Възможност за **port forwarding** в рутера (ако искате достъп отвън)
### ** Стъпки**
#### **1. Актуализиране на системата**
```bash
sudo apt update && sudo apt upgrade -y
```
#### **2. Инсталиране на OpenVPN & Easy-RSA**
```bash
sudo apt install openvpn easy-rsa -y
```
#### **3. Настройка на Certificate Authority (CA)**
```bash
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
```
Редактирайте файла `vars`:
```bash
nano vars
```
(Задайте `KEY_COUNTRY`, `KEY_PROVINCE`, `KEY_CITY`, `KEY_ORG`, `KEY_EMAIL` и др.)
#### **4. Генериране на сертификати и ключове**
```bash
source vars
./clean-all
./build-ca # Натиснете Enter за default стойности
./build-key-server server # Име на сървъра: "server"
./build-key client1 # Създаване на клиентски сертификат
./build-dh # Генериране на Diffie-Hellman параметри
openvpn --genkey --secret keys/ta.key # За допълнителна сигурност
```
#### **5. Конфигуриране на OpenVPN сървъра**
Копирайте примерния конфигурационен файл:
```bash
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz
sudo nano /etc/openvpn/server.conf
```
**Важни настройки:**
```ini
port 1194
proto udp
dev tun
ca /home/pi/openvpn-ca/keys/ca.crt
cert /home/pi/openvpn-ca/keys/server.crt
key /home/pi/openvpn-ca/keys/server.key
dh /home/pi/openvpn-ca/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp" # Пренасочва целия трафик през VPN
push "dhcp-option DNS 8.8.8.8" # Използва Google DNS
keepalive 10 120
tls-auth /home/pi/openvpn-ca/keys/ta.key 0
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
```
#### **6. Активиране на IP Forwarding и защита**
Редактирайте `/etc/sysctl.conf`:
```bash
sudo nano /etc/sysctl.conf
```
Разкоментирайте:
```ini
net.ipv4.ip_forward=1
```
Приложете промените:
```bash
sudo sysctl -p
```
Настройте NAT:
```bash
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
```
#### **7. Стартиране на OpenVPN**
```bash
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
```
#### **8. Създаване на клиентска конфигурация**
Създайте файл `client1.ovpn`:
```bash
nano ~/client1.ovpn
```
Поставете следното (като замените със съответните сертификати):
```ini
client
dev tun
proto udp
remote YOUR_PUBLIC_IP 1194 # Заменете с публичния IP на Pi
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
verb 3
<ca>
[PASTE ca.crt CONTENTS HERE]
</ca>
<cert>
[PASTE client1.crt CONTENTS HERE]
</cert>
<key>
[PASTE client1.key CONTENTS HERE]
</key>
<tls-auth>
[PASTE ta.key CONTENTS HERE]
</tls-auth>
key-direction 1
```
---
## ** Вариант 2: WireGuard на Raspberry Pi**
WireGuard е **по-бърз и лесен** за настройка.
### **Инсталиране**
```bash
sudo apt install wireguard -y
```
### **Генериране на ключове**
```bash
cd /etc/wireguard
sudo umask 077
sudo wg genkey | tee privatekey | wg pubkey > publickey
```
### **Конфигуриране на сървъра**
```bash
sudo nano /etc/wireguard/wg0.conf
```
Пример:
```ini
[Interface]
Address = 10.0.0.1/24
PrivateKey = [YOUR_SERVER_PRIVATE_KEY]
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = [CLIENT_PUBLIC_KEY]
AllowedIPs = 10.0.0.2/32
```
### **Стартиране**
```bash
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
```
---
## ** Финален етап (и за двата метода)**
1. **Port Forwarding** – пренасочете **UDP 1194 (OpenVPN)** или **UDP 51820 (WireGuard)** в рутера.
2. **Dynamic DNS** (ако имате динамичен IP) – използвайте **No-IP** или **DuckDNS**.
3. **Свързване от клиенти** – използвайте съответния клиентски софтуер.
---
### ** Заключение**
- **OpenVPN**: Подходящ за **всички устройства**, но по-сложен.
- **WireGuard**: **По-бърз** и лесен, идеален за **мобилни устройства**.
**Готово!** Вашият Raspberry Pi вече е **VPN сървър**. Безопасен браузънг и отдалечен достъп са ви гарантирани.