Я подключаю свой Linux L1 к VPN, чтобы получить общедоступный статический IP-адрес 117.xxx.xxx.xxx. Эта машина L1 имеет только один Ethernet-интерфейс eth0 с IP-адресом 192.168.1.130, и VPN подключен, создавая интерфейс ppp0. Я хочу сделать удаленный рабочий стол с портом 3389 на хосте (IP 192.168.1.100), подключенном к linux box через маршрутизатор. Я знаю, что это будет работать с NAT, но я не получаю правильные команды.

VPN IP пингуется из интернета.Прикрепление схемы подключения для справки. Пожалуйста, помогите мне с вашим вкладом.

ETH 0
inet 192.168.1.130  netmask 255.255.255.0  broadcast 192.168.1.255
Gateway 192.168.1.1

VPN
inet 172.xxx.xxx.xxx  netmask 255.255.255.255  destination 192.253.242.4

сеть

1 ответ1

0

Начните с простого DNAT (переадресация портов):

-A PREROUTING -d 117.xxx.xxx.xxx -m tcp --dport 3389 -j DNAT --to-destination 192.168.1.100
-A PREROUTING -d 117.xxx.xxx.xxx -m udp --dport 3389 -j DNAT --to-destination 192.168.1.100

(Современный RDP использует транспорт TCP и UDP.)

Однако сервер RDP также должен использовать маршрутизатор Linux в качестве шлюза по умолчанию. Пока сервер просто использует ваш основной маршрутизатор локальной сети, его ответы клиентам будут преобразованы в неверный IP-адрес источника. (То есть, хотя клиенты отправляют запросы на соединение на номер 117.xxx.xxx.xxx, они получат ответ от вашего основного IP-адреса в глобальной сети и будут очень смущены.)

Наконец, когда маршрутизатор Linux делает получить эти ответы и переводит их правильно, он все еще должен знать , что они должны быть отправлены через VPN. Если ваш VPN-клиент уже настроен на переопределение маршрута по умолчанию, больше ничего делать не нужно. (В противном случае вам нужно будет добавить правила "маршрутизации политики".)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .