Я пытаюсь настроить VPS для пересылки трафика от клиента openvpn в Интернет, а также пересылать входящий трафик порта 80 обратно клиенту. Я следовал этому руководству, чтобы настроить сервер и создать конфигурацию клиента. На VPS у меня есть правила iptables:
-t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
а также
-t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.8.0.6
Первое правило из руководства, и работает хорошо. Второе правило позволяет мне подключаться к VPN-клиенту через порт 80 из Интернета, но http-запросы от клиента к Интернету не выполняются (https по-прежнему работает и проходит через VPN). Кто-нибудь может порекомендовать рабочую конфигурацию для этой проблемы, или объяснить, почему эта не работает?
Изменить: конфигурация VPS
# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:10.8.0.6
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.0.0/8 0.0.0.0/0
# cat /proc/sys/net/ipv4/ip_forward
1
port-forwarding
iptables
openvpn
user47122
источник
источник
iptables -L
и «ptables -t nat -L`, чтобы показать их ... цепочка FORWARD с политикой ACCEPT?cat /proc/sys/net/ipv4/ip_forward
0 или 1? потому что я думаю, что вам нужна 1 здесь.Ответы:
Правило предварительной маршрутизации не указывало интерфейс или назначение, поэтому запросы HTTP, поступающие от VPN-клиента через tun0, отправлялись обратно самому себе.
Рабочий конфиг есть
источник