Конфигурация OpenVPN и Iptable — Конфигурация переадресации

Конфигурация OpenVPN и Iptable — Конфигурация переадресации

У меня есть 2 VPS. На первом установлен OpenVPN, и мне нужно получить доступ из моего VPN к eth1 на втором VPS.

ВПС №1

  • eth0-WAN xxx.xxx.19.106
  • eth1-LAN 10.108.0.2/20
  • tun0 - OpenVPN 10.8.0.1/24

ВПС №2

  • eth1-LAN 10.108.0.3/20

вот диаграмма

Мне нужно узнать конфигурацию iptables для VPS №1, чтобы я мог получить доступ из openVPN (tun0-10.8.0.1/24) к eth1-LAN 10.108.0.3/20 на 2-м VPS. Я пытаюсь подключиться по SSH ко 2-му VPS с компьютера, подключенного к OpenVPN, и не могу. Но я подключаюсь по SSH к 1-му VPS и с консоли SSH ко 2-му VPS я могу получить к нему доступ.

SSH (port22)
eth1-LAN (10.108.0.2/20) => eth1-LAN (10.108.0.3/20).......Работает

SSH (порт22)
tun0-OpenVPN (10.8.0.1/24) => eth1-LAN (10.108.0.3/20)........НЕТРаботающий

Спасибо Артурбио

решение1

Чтобы разрешить доступ SSH из интерфейса OpenVPN (tun0) к интерфейсу LAN (eth1) второго VPS, вам нужно будет настроить iptables на первом VPS для пересылки трафика из интерфейса OpenVPN в интерфейс LAN. Вот команды iptables, которые вы можете использовать для этого:

iptables -A FORWARD -i tun0 -o eth1 -d 10.108.0.3/20 -p tcp --dport 22 -j ACCEPT - Эта команда добавит правило в цепочку FORWARD, которое разрешает трафик с интерфейса OpenVPN (tun0) на интерфейс LAN (eth1) второго VPS, если IP-адрес назначения находится в диапазоне 10.108.0.3/20, а порт назначения — 22 (для SSH).

iptables -A FORWARD -i eth1 -o tun0 -s 10.108.0.3/20 -p tcp --sport 22 -j ACCEPT - Эта команда добавит правило в цепочку FORWARD, которое разрешает трафик с интерфейса LAN (eth1) второго VPS на интерфейс OpenVPN (tun0), если исходный IP-адрес находится в диапазоне 10.108.0.3/20, а исходный порт — 22 (для SSH).

iptables -A POSTROUTING -t nat -o eth1 -s 10.8.0.0/24 -j SNAT --to-source 10.108.0.2 — Эта команда добавит правило в цепочку POSTROUTING, которое позволит изменить исходный IP-адрес пакета на IP-адрес интерфейса eth1 первого VPS (10.108.0.2) до того, как он покинет интерфейс eth1, чтобы казалось, что он исходит с IP-адреса первого VPS.

iptables -A INPUT -i tun0 -p tcp --dport 22 -j ACCEPT - Эта команда добавит правило в цепочку INPUT, которое разрешает входящий трафик SSH на интерфейсе tun0,

iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT - Эта команда добавит правило в цепочку INPUT, которое разрешает входящий трафик SSH на интерфейсе eth1,

iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT - Эта команда добавит правило в цепочку INPUT, которое разрешает входящий трафик SSH на интерфейсе eth0,

iptables -A INPUT -i lo -j ACCEPT - Эта команда добавит правило в цепочку INPUT, которое разрешает входящий трафик на интерфейсе loopback,

iptables -P INPUT DROP & iptables -P FORWARD DROP & iptables -P OUTPUT DROP - Эти команды установят политику по умолчанию для цепочек INPUT, FORWARD и OUTPUT на DROP. Это означает, что любой трафик, который не соответствует ни одному из предыдущих правил, будет сброшен.

Чтобы сделать эти правила постоянными при перезагрузках, вам нужно будет использовать команды iptables-save и iptables-restore.

Связанный контент