Предоставляемый 18.04 AMI поставляется с одним интерфейсом, и я добавляю второй с его собственным IP (для каскадера-сервера). Однако экземпляр отвечает только на один эластичный IP-адрес или другой, а не на оба (для SSH и каскадера), в то время как оба частных адреса работают. Настройка с помощью Amazon Linux также прошла безупречно, так что это должна быть просто часть сетевой конфигурации.
Существует два сетевых интерфейса, каждый с эластичным IP-адресом и разными подсетями на одном VPC в одной зоне доступности ( 172.31.16.0/20
и 172.31.48.0/20
) и та же группа безопасности.
Ubuntu не обнаружил вторую автоматически, но /etc/netplan/50-cloud-init.yaml
выглядит как место для начала с 18.04?
В отличие от того, что я я привык, и я не мог найти инструкции, поэтому догадался, что это проблема. Я только что добавил к нему DHCP eth1
. И я предполагаю, что это сломает i е Я создаю AMI или изменяю интерфейс (получу новый MAC-адрес)?
network:
version: 2
ethernets:
eth0:
dhcp4: true
match:
macaddress: 06:05:14:4a:26:ce
set-name: eth0
eth1:
dhcp4: true
match:
macaddress: 06:86:ef:73:d4:1a
set-name: eth1
Это действительно отображается в ifconfig
, и я могу использовать SSH для обоих частных адресов, но только для второго ( eth1
) отвечает на любую программу через EIP, хотя показывает несколько пакетов на eth0
.
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 172.31.24.184 netmask 255.255.240.0 broadcast 172.31.31.255
inet6 fe80::405:14ff:fe4a:26ce prefixlen 64 scopeid 0x20<link>
ether 06:05:14:4a:26:ce txqueuelen 1000 (Ethernet)
RX packets 413 bytes 48193 (48.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 545 bytes 62679 (62.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 172.31.52.86 netmask 255.255.240.0 broadcast 172.31.63.255
inet6 fe80::486:efff:fe73:d41a prefixlen 64 scopeid 0x20<link>
ether 06:86:ef:73:d4:1a txqueuelen 1000 (Ethernet)
RX packets 899 bytes 403206 (403.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1218 bytes 232644 (232.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 275 bytes 21497 (21.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 275 bytes 21497 (21.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Вероятно, это проблема маршрутизации, для которой требуются дополнительные записи конфигурации в таблицах маршрутизации.
В следующем примере приведены инструкции по настройке двух независимых таблиц маршрутизации:
https://serverfault.com/a/823061/476056
Если ваше приложение привязывается к 0.0.0.0
необходимо добавить правила, подобные следующим. В противном случае исходящий трафик будет использовать интерфейс по умолчанию и попадет на первый интерфейс.
ip rule add from 0.0.0.0/32 to 192.168.122.0/24 dev eth0 table admin
ip rule add from 0.0.0.0/32 to 192.168.123.0/24 dev eth1 table users
Это не В Ubuntu то же самое происходит в CentOS и других дистрибутивах.
Я нашел, как это решить, в центре знаний AWS
https://aws.amazon.com/premiumsupport/knowledge-center/ec2-ubuntu-secondary-network-interface/
Возможно, это поможет ты