ネットワーク名前空間をまたぐポート転送 socks5 プロキシ

ネットワーク名前空間をまたぐポート転送 socks5 プロキシ

ようやく、動作する netns veth openvpn 接続を設定し、systemd サービス ファイルをオーバーライドして、openvpn が netns シングル ショット サービスと openvpn サービスの tor に依存するようにしました。少なくともログでは、Tor は動作しますが、アクセスできません。現在のnetns-vpn.serviceファイルは次のとおりです。

# 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

ポート転送部分は、SOCKS5 プロキシでは機能しません。私が収集した情報によると、フィルターまたは を使用する必要がありますが、ネットワーク名前空間と SOCKS5 プロキシを使用した例が見つかりません。私にとってはまったく新しいことです。TCP 転送は機能し、Python http.server でテストしました。UDP でも機能するはずです。名前空間をまたぐプロキシ ソリューションやその他のもの-A OUTPUTを探しているわけではありません。socat

関連情報