La siguiente configuración cifra todas las conexiones salientes a internet, quien espié el flujo de datos no podrá ver el contenido de conexiones ni siquiera la que por default van desprotegidas como las http u otras, al menos no podrán ser espiadas desde el país de origen.
Diagrama de conexión.
Explicación en video.
Requerimientos
1 computadora con al menos 1 tarjeta de red, GNU/Linux ( Aquí uso CentOS 7 )
2 modem dsl en modo bridge o puente
3 un servidor VPS de azure, linode o de cualquier proveedor en la nube en el país al que se desee usar como salida ( peering ) ( aquí uso CentOS 7 )
Configuración del modem
1 Llamar al ISP ( aquí telmex ) para obtener las claves de conexión PPPoE
2 Entrar a la consola WEB del modem para cambiar la conexión a internet a modo bridge
3 Desactiva el servicio de dhcp en el modem
Configuración de la computadora en casa como servidor firewall y de cifrado
1 Instalar GNU/Linux
2 Instalar los script de administración de PPPoE con: yum install rp-pppoe
3 Configurar en la tarjeta de red la red ip que usara la LAN tradicionalmente es 192.168.1.0/24 pero a mi me gusta complicar las cosas para los script kiddies , en ese ejemplo uso la red 172.16.0.0/24 a la tarjeta de red le he colocado 172.16.0.254
4 Conectar la tarjeta de red al puerto ethernet 1 del modem dsl
5 Configurar la conexión PPPoE con: pppoe-setup
6 Realizar la conexión a internet del servidor con: pppoe-connect o pppoe-start
Contratar un VPS
1 Para este ejemplo contrato un VPS en Frankfurt, Alemania con Linode ( CentOs 7 )
2 Interconectar el servidor firewall en casa con el vps via VPN ( aquí uso OpenVPN )
3 IP configuradas en VPN 200.30.30.1 en Alemania y 200.30.30.2 en firewall local/casa
4 Permitir reenvío de paquetes en el VPS con: echo “1” > /proc/sys/net/ipv4/ip_forward
Reglas de ruteo en el firewall local/casa
1 Se limpia cualquier regla de firewall o nat que pudiera tener el kernel por default
iptables -t filter -F
iptables -t nat -F
2 Se declara una ruta a la ip vpn del servidor vps con la tabla 100 para este ejemplo y reenvío de paquetes
echo “1” > /proc/sys/net/ipv4/ip_forward
ip route add default via 200.30.30.1 dev tun0 table 100
3 Se declara una regla para cada ip de la red LAN que vaya a conectar de forma segura
ip rule add from 172.16.0.10 table 100
ip rule add from 172.16.0.11 table 100
ip rule add from 172.16.0.12 table 100
Configuración de DHCP en el servidor de firewall
Ya que se desactivo el servicio DHCP en el modem habrá que darlo por medio de GNU/Linux
subnet 172.16.0.0 netmask 255.255.255.0 {
range 172.16.0.10 172.16.0.253;
option subnet-mask 255.255.255.0;
option broadcast-address 172.16.0.255;
option routers 172.16.0.254;
option domain-name-servers 8.8.8.8;
option domain-name “firewall.lastdragon.net”;
}
Reglas de NAT en el VPS
iptables -t filter -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -j MASQUERADE
Desactivar el trafico seguro vía VPN
En caso de que se requiera dejar de usar la VPN y sacar la conexión por el ISP de forma tradicional, se deben borrar las reglas ip y de ruteo a la VPN
ip route del default via 200.30.30.1 dev tun0 table 100
ip rule del from 172.16.0.10 table 100
ip rule del from 172.16.0.11 table 100
ip rule del from 172.16.0.12 table 100
Para obtener NAT en el firewall local/casa
iptables -t nat -A POSTROUTING -j MASQUERADE
Imágenes
donde esta la informacion
Con esta configuracion, la velocidad de bajada se ve muy afectada o es tecnicamente transparente para los clientes?
La computadora bridge como cuanta capacidad calculas que es la minima para operar? podria usarse alguna computadora basada en ARM como la raspberry pi 3 para hacer esta funcion o seria mejor una basada en x86.
Con las conexiones transatlantico en fibra de hoy no hay prácticamente latencia. ping sigue estando en milisegundos.
no te mete mucha latencia esa configuración?
No de hecho las conexiones se siguen mateniendo a la misma latencia, incluso pareciera que juegos como Call of Duty son engañados y te declaran el host de la partida lo que da mucha ventaja
Yo creo que hay soluciones mucho más sencillas y menos trabajosas y costosas, por ejemplo:
-La más sencilla apagar el router mientras no lo usamos, asi dejamos cerrada la red y lo mejor ahorramos electricidad, si tenemos IP dinámica cada vez que lo encendamos tendremos una nueva IP.
-Cambiar el nombre del SSID del router.
-Poner la SSID del router oculta.
-Utilizar WPA2 (no utilizar WEP, WPS, ni muchos menos dejar la wifi sin clave) con contraseñas largas.
-Usar el filtro de MAC.
-Cambiar los usuarios y contraseñas de admin en el router.
-Actualizar el firmware del router y por supuesto los sistemas operativos de los ordenadores.
No es imposible que te entren en la red asi pero creo que a la mayoría de personas les serviría esto para andar seguros en sus casas, yo de hecho hago esto en casa y nunca me ha entrado nadie en la red, lo que tu dices lo veo más para entornos empresariales.
Lo que last dragon hace es mantener su privacidad fuera del alcance de quien quiera atacarlo vía internet, pero también asegurando su privacidad local, en mi trabajo tenemos 4 conexiones vía PPoE y va de maravilla.
podrias recomendarme un firewall Mkrotik por modelo?
Hola,
¿Esto aplica aún para diciembre 2018?
– Tengo internet infilentium
– Modem arcadyan
– equipo con Linux Ubuntu 18.04
– VPS contratado probando 2 meses con Digital Ocean
Saludos
Sigue aplicando, yo lo estoy usando actualmente con un Raspberry PI 3
Porque no se monta tambien un server dns con Bind9 ? Ayudaria o practicamente a día de hoy el cambio ni se notaria con los dns de google que esta usando ?
Si lo he hecho, es mas rapido, pero cuando hablamos de milisegundos de velocidad… lo cierto es que no hay ninguna diferencia con usar los de google o los de cloudfare o tu propio bind… el cuerpo humano es incapaz de percibir la diferencia en milisegundos.