У меня есть такой сценарий, мне нужно соединить два сайта через сайт с туннелем 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
.