Я полностью настроил openvpn как порт udp. Сетевой адрес openvpn - 10.8.0.0. И я настроил прокси redsocks следующим образом.
base {
log_debug = on;
log_info = on;
log = "stderr";
daemon = off;
redirector = iptables;
}
redsocks {
// Local IP listen to
local_ip = 127.0.0.1;
// Port to listen to
local_port = 31338;
ip = 127.0.0.1;
port = 31337;
// Proxy type
type = socks5;
}
И я настроил маршрут для исходящего порта 31337.
Проблема в том, что я собираюсь перенаправить все входящие пакеты от клиента openvpn в прокси redsocks. Я настроил iptables, но не работает. Что я пропустил?
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDSOCKS tcp -- anywhere anywhere tcp dpt:https
REDSOCKS tcp -- anywhere anywhere tcp dpt:http
REDSOCKS tcp -- anywhere anywhere tcp dpt:socks
REDSOCKS udp -- anywhere anywhere
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
REDSOCKS tcp -- anywhere anywhere owner UID match user0
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain REDSOCKS (5 references)
target prot opt source destination
RETURN all -- anywhere 0.0.0.0/8
RETURN all -- anywhere 10.0.0.0/8
RETURN all -- anywhere localhost/8
RETURN all -- anywhere link-local/16
RETURN all -- anywhere 172.16.0.0/12
RETURN all -- anywhere 192.168.0.0/16
RETURN all -- anywhere base-address.mcast.net/4
RETURN all -- anywhere 240.0.0.0/4
REDIRECT tcp -- anywhere anywhere redir ports 31338
Если я запускаю curl в локальном режиме, прокси-сервер redsocks получает пакеты и обрабатывает их. Но если я запускаю curl в клиенте openvpn, redsocks не получал пакеты.
Пожалуйста, помогите мне. PS: Я также добавил iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
, но все еще работает.