Proxy de reenvío de puertos Socks5 a través de espacios de nombres de red

Proxy de reenvío de puertos Socks5 a través de espacios de nombres de red

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.servicearchivo 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 socatninguna otra solución de proxy entre espacios de nombres.

información relacionada