Назад | Перейти на главную страницу

Strongswan AWS и перекрывающиеся подсети

У меня есть этот сценарий, мне нужно подключить два сайта через сайт к туннелю ipsec сайта. Один из пиров (у меня нет доступа к другой стороне) - это экземпляр EC2 с Strongswan (Ubuntu 16.04). Я мог соединить оба сайта с такой конфигурацией:

type=tunnel
authby=secret
left=10.1.0.124 (private ip address assigned by AWS to our EC2 instance)
leftid=18.21.xxx.xxx (public Elastic ip)
leftsubnet=10.153.94.0/24 (this is a requirement from the other side, I don't manage this)
right=45.17.xxx.xxx (public peer ip)
rightsubnet=10.153.105.0/24 (private subnet of peer side)
keyexchange=ikev1
ike=aes256-sha1-modp1024!
ikelifetime=86400s
esp=aes256-sha1-modp1024!
keylife=3600s
auto=start
rekey=yes
keyingtries=%forever
aggressive=no
dpdaction=restart
dpdtimeout=120

Проблема заключается в удаленной подсети, требуемой одноранговым узлом (leftsubnet). У нас нет этой подсети в наших виртуальных ПК, и партнер не может изменить ее в своих криптокартах. Как я могу это решить? Мне нужно создать какой-то виртуальный IP-адрес (например, 10.153.94.2) внутри экземпляра EC2, или правила NAT iptables, или и то, и другое? Я не могу добавить второй физический интерфейс с произвольным адресом, и безуспешно пытаюсь создать подинтерфейс (например, ens5: 0). Туннель работает только с установленным "настоящим" левым IP (10.1.0.124). Заранее спасибо!

Неважно, куда вы добавляете свой личный адрес. Это также может быть устройство обратной связи lo:

ip -4 addr add 10.153.94.1/24 dev lo

Чтобы добавить IP-адрес при загрузке, введите:

iface lo:0 inet static
    address 10.153.94.1
    netmask 24

к /etc/network/interfaces. Вы сможете сделать то же самое с ens5.