Private Internet Access en Linux: configuración avanzada

Configuración avanzada de Private Internet Access en Linux

Private Internet Access es uno de los servicios de VPN más populares, con soporte robusto para sistemas Linux. En este artículo, exploraremos en profundidad cómo configurar Private Internet Access en distribuciones basadas en Debian, Ubuntu, Fedora y Arch, cubriendo OpenVPN, WireGuard, cortafuegos, scripts, kill switch, forwarding, automatización y más.

1. Instalación y requisitos previos

  • Distribución: Debian/Ubuntu (20.04 ), Fedora (33 ), Arch Linux.
  • Privilegios root o sudo: necesarios para modificar red y firewall.
  • Clientes VPN:
    • OpenVPN (recomendado para compatibilidad máxima).
    • WireGuard (mayor velocidad y cifrado moderno).
  • PIP o gestor de paquetes: para instalar dependencias como curl, jq o resolvconf.

1.1 Descarga del repositorio oficial

Para mantener el cliente actualizado, añadiremos el repositorio oficial de PIA:

curl -sSL https://install.privateinternetaccess.com/script.deb.sh sudo bash
sudo apt-get install pia-client

En Fedora/Arch, utilice los paquetes disponibles o la AUR.

2. Configuración de OpenVPN

2.1 Generación de credenciales

Acceda al panel de usuario de PIA, copie su usuario y contraseña. Crearemos un archivo seguro:

sudo mkdir -p /etc/openvpn/pia
sudo tee /etc/openvpn/pia/credentials.txt ltltEOF
USUARIO_PIA
CONTRASEÑA_PIA
EOF

sudo chmod 600 /etc/openvpn/pia/credentials.txt

2.2 Archivos de configuración (.ovpn)

Descargue los archivos .ovpn desde el repositorio oficial y colóquelos en /etc/openvpn/pia/. Elija un servidor (por ejemplo, us-california).

sudo cp ~/Descargas/1081.ovpn /etc/openvpn/pia/us-california.ovpn

Edite us-california.ovpn:

  • Defina auth-user-pass credentials.txt
  • Establezca tls-client, remote-cert-tls server
  • Si desea UDP, use proto udp o TCP proto tcp.

2.3 Iniciar y habilitar el servicio

sudo systemctl enable openvpn-client@us-california.service
sudo systemctl start openvpn-client@us-california.service
sudo journalctl -u openvpn-client@us-california -f

3. Configuración de WireGuard

3.1 Instalación y generación de claves

Instale wireguard-tools y genere un par de claves:

sudo apt-get install wireguard-tools
wg genkey tee privatekey wg pubkey > publickey

3.2 Configuración del archivo wg0.conf

Edite /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = ltSU_PRIVATE_KEYgt
Address = 10.0.0.2/24
DNS = 10.0.0.1

[Peer]
PublicKey = ltPIA_PUBLIC_KEYgt
Endpoint = wg.privateinternetaccess.com:51821
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

3.3 Levantar la interfaz

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

4. Protección contra fugas y MACE

4.1 DNS Leak y forzado de DNS

  • Agregue en /etc/resolvconf/resolv.conf.d/head:
  • nameserver 10.0.0.1
  • Ejecute sudo resolvconf -u.

4.2 Activar PIA MACE

PIA incluye bloqueador de anuncios y malware (“MACE”). Habilítelo en la interfaz gráfica pia-client o en ~/.config/pia_manager/settings.json:

mace_enabled: true,

5. Kill Switch y reglas de firewall

5.1 Configuración básica con iptables

Bloquee todo el tráfico si la VPN cae:

sudo iptables -P OUTPUT DROP
sudo iptables -A OUTPUT -o tun0 -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
  • Reemplace tun0 por wg0 para WireGuard.
  • Almacene las reglas en /etc/iptables/ y restaure con iptables-restore.

5.2 Integración con systemd

Cree /etc/systemd/system/vpn-kill-switch.service:

[Unit]
Description=Kill Switch PIA
After=network-online.target openvpn-client@us-california.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/vpn-kill-switch.sh

[Install]
WantedBy=multi-user.target

6. Routing avanzado y split tunneling

6.1 Políticas de enrutamiento con ip rule

  1. Identificar el UID del usuario: id -u username.
  2. Agregar tabla personalizada en /etc/iproute2/rt_tables:
200 vpn
  1. Agregar reglas:
sudo ip rule add from all uidrange ltUIDgt-ltUIDgt lookup vpn
sudo ip route add default via 10.0.0.1 dev tun0 table vpn

7. Scripts y automatización

7.1 Pre-up y Post-down de OpenVPN

Edite el archivo .ovpn para incluir:

script-security 2
up /etc/openvpn/pia/scripts/vpn-up.sh
down /etc/openvpn/pia/scripts/vpn-down.sh

Los scripts pueden configurar iptables, DNS y logs.

7.2 Rotación de logs

Agregue en /etc/logrotate.d/pia-vpn:

/var/log/pia-vpn.log {
rotate 7
daily
compress
missingok
notifempty
}

8. Monitoreo y solución de problemas

  • Estado de OpenVPN: sudo systemctl status openvpn-client@us-california
  • Log WireGuard: sudo journalctl -u wg-quick@wg0
  • Conectividad: curl https://ipinfo.io o dig @10.0.0.1 whoami.akamai.net short.
  • Fugas DNS: sudo apt-get install dnsleaktest dnsleaktest.
  • Firewall: sudo iptables -L -v.

9. Optimización de rendimiento

9.1 Ajuste de MTU

Encuentre el MTU óptimo:

ping -M do -s 1472 8.8.8.8

Reduzca el MTU en la interfaz VPN si hay fragmentación:

ip link set dev tun0 mtu 1420

9.2 Selección de cifrado

En .ovpn puede modificar:

  • cipher AES-256-GCM o AES-128-CBC para mayor compatibilidad.
  • auth SHA256 para integridad de paquetes.

Conclusión

Usar Private Internet Access en Linux con configuraciones avanzadas permite un control total sobre la privacidad, el rendimiento y la seguridad de su conexión. Desde la instalación del cliente oficial hasta scripts personalizados y reglas de firewall, este artículo cubre los pasos esenciales para lograr una solución profesional y resistente. Experimente y ajuste según sus necesidades y disfrute de una navegación segura y sin limitaciones.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *