Finalmente configuré la conexión netns veth openvpn que funciona, hice anulaciones de los archivos de servicio systemd para que openvpn dependiera del servicio de disparo único de netns y del tor del servicio openvpn. Tor funciona, al menos según sus registros, pero no puedo acceder a él. Mi netns-vpn.service
archivo actual es:
# netns
ExecStartPre=-ip netns delete openvpn
ExecStartPre= ip netns add openvpn
# links
ExecStartPre=ip link add vpn0 type veth peer name vpn1
ExecStartPre=ip link set vpn1 netns openvpn
# set links and localhost for vpn
ExecStartPre=ip link set dev vpn0 up
ExecStartPre=ip -n openvpn link set dev lo up
ExecStartPre=ip -n openvpn link set dev vpn1 up
# assign ips to them, and loop traffic from vpn1 to vpn0
ExecStartPre=ip addr add 10.0.0.0/24 dev vpn0
ExecStartPre=ip -n openvpn addr add 10.0.0.1/24 dev vpn1
ExecStartPre=ip -n openvpn route add default via 10.0.0.0
# port forwarding
ExecStartPre=iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 9049 -j DNAT --to-destination 10.0.0.1:9049
ExecStartPre=iptables -t nat -A PREROUTING -p udp -i eth0 --dport 9049 -j DNAT --to-destination 10.0.0.1:9049
ExecStartPre=iptables -A FORWARD -p tcp -d 10.0.0.1 --dport 9049 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
ExecStartPre=iptables -A FORWARD -p udp -d 10.0.0.1 --dport 9049 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# packet forwarding from eth0 to vpn0 and back
ExecStartPre=iptables -A FORWARD -i eth0 -o vpn0 -j ACCEPT
ExecStartPre=iptables -A FORWARD -o eth0 -i vpn0 -j ACCEPT
# idk
ExecStartPre=iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
La parte de reenvío de puertos no funciona para el proxy Socks5. Por lo que he recopilado, necesito usar filtros o -A OUTPUT
, pero no puedo encontrar un ejemplo con espacios de nombres de red y proxy calcetines5 para que tenga sentido. Todo es nuevo para mí. El reenvío TCP funciona, lo probé con Python http.server, supongo que udp también debería hacerlo. No estoy buscando socat
ninguna otra solución de proxy entre espacios de nombres.