У меня есть аппаратная настройка, которую мне нужно смоделировать в AWS. В аппаратном обеспечении у меня есть компьютер клиента, подключенный к Интернету через кабельный модем. Между кабельным модемом и компьютером клиента я вставляю свой компьютер с DPDK и приложением фильтра пакетов. Все пакеты от кабельного модема входят в мой компьютер / dpdk в Int-1, обрабатываются, и оставляют мой компьютер в Int-2, чтобы перейти к системе клиента. Тот же путь данных проходит в обратном порядке для пакетов, исходящих из системы клиента. Пакеты просто следуют по кабелю Ethernet туда, куда они должны идти.
Мне нужно повторить это в облаке AWS, но у меня нет Ethernet-кабелей для принудительной маршрутизации пакетов. Мне нужно вставить свой экземпляр EC2, на котором запущен DPDK, между Elastic IP и экземпляром EC2 клиента с частным IP. Настройка выглядит следующим образом:
VPC
+------------------------------------------------+
| |
| c5.2xlarge EC2 t2.micro EC2 |
| +--------------------+ +----------------+ |
| | My ec2 with DPDK | | Customer ec2 | |
EIP 1.2.3.4 <---> Int-1 10.0.1.101 | | | |
| | ^ | | | |
| | | | | | |
| | v | | | |
| | <processing> | | | |
| | ^ | | | |
| | | | | | |
| | v | | | |
| | 10.0.2.101 Int-2 <---> 10.0.1.89 eth0 | |
| | | | | |
| +--------------------+ +----------------+ |
+------------------------------------------------+
Это работает на centos7.
Когда DPDK работает, ens6 становится Int-1, а ens7 становится Int-2.
EIP 1.2.3.4 раньше был привязан к частному IP-адресу клиента 10.0.1.89, поэтому пользователи Интернета имели доступ к ec2 клиента, а пользователи ec2 клиента имели доступ к Интернету.
После того, как мой экземпляр ec2 добавлен в VPC, а EIP отсоединен от ec2 клиента и подключен к моему ec2, теперь я хочу отфильтровать трафик в обоих направлениях до и из ec2 клиента.
Если бы в моем ec2 не работал DPDK, я мог бы просто использовать iptables для трафика NAT в обоих направлениях. Но с DPDK мне нужен NAT пользовательского пространства, который работает на моем ec2, или мне нужен какой-то другой способ для маршрутизации пакетов из EIP на мой интерфейс Int-1, а затем из интерфейса Int-2 к клиенту ec2 и обратно. .
Существует много предполагаемых стеков DPDK tcp / ip, но ни один из них не работает по той или иной причине. Мне бы хотелось, чтобы это работало только с маршрутизацией AWS и без NAT, но я не знаю, возможно ли это.
Помощь!