Извините за то, что задали действительно общий вопрос, я больше разработчик, чем сетевой эксперт, поэтому, пожалуйста, потерпите меня ... :-(
Моя проблема заключается в следующем: у меня есть
- сервер A
, обслуживающий наши REST API.
- сервер B
, на котором размещается VPN-соединение ipsec strongswan с подсетью C
, к которому нам необходим безопасный доступ для оперативных данных с сервера A
и который мы не контролируем.
Я хочу, чтобы трафик в и из подсети C
на сервере A
был перенаправлен через сервер 'B'.
Как вы думаете, такая задача выполнима?
Должен ли я добавить маршрут в таблицу маршрутизации или работать с правилами пересылки брандмауэра, чтобы начать с?
Мои первые попытки были:
на сервере А:
# ip route add C_SUBNET_IP via B_SERVER_PUBLIC_IP dev eth0
который мне наплевал : RTNETLINK answers: Network is unreachable
затем с помощью брандмауэра:
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -j MASQUERADE
# iptables -t nat -A PREROUTING -s C_SUBNET_IP -p udp -j DNAT --to-destination B_SERVER_PUBLIC_IP
который не позволил мне добраться до любой подсети C
ip:
# ping C_SUBNET_IP
PING C_SUBNET_IP (C_SUBNET_IP) 56(84) bytes of data.
...
^C
10 packets transmitted, 0 received, 100% packet loss, time 9056ms