Добавление второго сетевого интерфейса в Ubuntu 18.04 на AWS EC2

Предоставляемый 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
10
задан 24 September 2018 в 20:22
2 ответа

Вероятно, это проблема маршрутизации, для которой требуются дополнительные записи конфигурации в таблицах маршрутизации.

В следующем примере приведены инструкции по настройке двух независимых таблиц маршрутизации:

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 и других дистрибутивах.

0
ответ дан 5 January 2020 в 21:09

Я нашел, как это решить, в центре знаний AWS

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-ubuntu-secondary-network-interface/

Возможно, это поможет ты

1
ответ дан 13 August 2020 в 18:36

Теги

Похожие вопросы