У меня есть сервер Ubuntu 14, на котором запущен шлюз OpenVPN и ufw. Назовем его Сервер А.
У меня есть резервирование IP для постоянно подключенного сервера (Сервер B). Он всегда подключается к OpenVPN и получает IP-адрес 10.8.0.10.
Мне нужно перенаправить соединения с порта 5010 на сервере A на порт 22 сервера B (SSH).
У меня в before.rules есть следующее:
# NAT table rules
*nat
:PREROUTING ACCEPT [0:0]
# Route SSH to archimedes
-A PREROUTING -p tcp -i eth0 --dport 5010 -j DNAT --to-destination 10.8.0.10:22
:POSTROUTING ACCEPT [0:0]
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o tun0 -j MASQUERADE
# END OPENVPN RULES
COMMIT
DEFAULT_FORWARD_POLICY="ACCEPT"
установлен в /etc/default/ufw
net.ipv4.ip_forward=1
установлен в /etc/ufw/systl.conf
Если я подключусь по SSH к серверу и попытаюсь подключиться по SSH напрямую к 10.8.0.10 (IP-адрес, назначенный VPN серверу B на интерфейсе tun0), я могу подключиться нормально.
Любая попытка подключиться к порту 5010 сервера A завершается ошибкой с истечением времени ожидания. Что я пропустил?
ProxyCommand
в твоем ~/.ssh/config
файл для прямого подключения к VPN (и это будет другой вопрос, если вы не знаете, как это сделать)sudo iptables -L -t nat
и проверьте, применяется ли политика предварительной маршрутизации.