В настоящее время я создаю частный облачный кластер с использованием Proxmox. Мой кластер содержит головной узел и два вычислительных узла.
Мой головной узел размещает сервер NAT и сервер OpenVPN, а также три сетевых карты: одну для исходящего трафика и одну на вычислительный узел. NAT позволяет мне взаимодействовать с обоими вычислительными узлами. На обоих вычислительных узлах я размещаю маршрутизатор с ~30 vlan на маршрутизатор.
Моя цель — увидеть адрес из vpn-клиента при подключении к маршрутизаторам. В настоящее время я подключаюсь к головному узлу с помощью vpn, затем пытаюсь выполнить ping или ssh к маршрутизатору, и он показывает, что соединение исходит с IP-адреса головного узла. Любая помощь будет высоко оценена!
Мои маршруты следующие:
default via *.*.*.1 dev eno1 onlink
10.10.1.0/24 via 10.10.1.2 dev tun0
10.10.1.2 dev tun0 proto kernel scope link src 10.10.1.1
*.*.*.0/25 dev eno1 proto kernel scope link src *.*.*.46
192.168.0.0/19 via 192.168.77.1 dev vmbr0
192.168.32.0/19 via 192.168.76.6 dev vmbr1
192.168.76.0/24 dev vmbr1 proto kernel scope link src 10.10.1.1
192.168.77.0/24 dev vmbr0 proto kernel scope link src 192.168.77.1
И правило NAT (сейчас я использую firewalld):
-A POST_public_allow ! -o lo -j MASQUERADE
решение1
Правило NAT, которое вы показали, не предоставляет практически никакой информации, поскольку оно изменяетобычайцепочка, которая предположительно вызывается из других (стандартных) цепочек в других таблицах (предположительно POSTROUTING
таблицы nat
; вы можете увидеть это с помощью iptables -t nat -L POSTROUTING
).
Проблема, с которой вы столкнулись, заключается в том, что предположительно маскарадинг применяется к интерфейсу, соединяющему головной узел с вычислительными узлами.
Один из способов решения этой проблемы — использовать SNAT только на том интерфейсе, который головной узел использует для подключения к Интернету.
Обратите внимание на одну проблему. Тот факт, что вы используете VPN для доступа к головному узлу (если я правильно понял вопрос), означает, что когда вы отключите чрезмерный маскарадинг на головном узле, ваши вычислительные узлы увидят отправляемые вами пакеты.надVPN как исходящий из любой сети, в которой находится ваша отправляющая программа. Поскольку это предположительно частная подсеть, вы должны убедиться, что - И ваша исходная сеть, и сеть, которая соединяет головной узел и вычислительные узлы, имеют разные адреса (и они обе должны быть отделены от подсети, которую использует туннель) - Вычислительные узлы должны иметь правило маршрутизации для вашей исходной сети (для отправки пакетов, предназначенных для них, на головной узел) - На головном узле должна быть включена пересылка IP.