Виртуальные интерфейсы systemd.network
У меня есть выделенный сервер под управлением Ubuntu 18.04, который использует systemd.network для управления своей сетью.
На сервере есть только один физический NIC.
В качестве части услуги провайдер-провайдер выделил мне два IP-адреса и два MAC-адреса.
Это конфигурация /etc/systemd/network
[Match]
Name=enp4s0
[Network]
Address=<IPv6 Address>/64
Gateway=x.x.x.y
Gateway=xxx::y
[Address]
Address=x.x.x.x
Peer=x.x.x.y/32
Приведенная выше конфигурация содержит только один из моих двух выделенных адресов IPv4.
Мне нужно добавить виртуальный интерфейс с MAC-адресом и IPv4-адресом моего второго распределения. Я, однако, не уверен, как этого добиться.
Оба интерфейса должны использовать один и тот же физический NIC.
Я знаю, как добиться этого с NetworkManager, но не с Systemd. Я также не уверен, что возможно с systemd.network... Нужно ли создавать два виртуальных интерфейса, оба с их собственными IPv4 и MAC-адресами, и чтобы они оба совместно использовали физический сетевой адаптер для подключения? Или следует оставить существующую конфигурацию как есть (как указано выше) на физическом сетевом адаптере и создать дополнительный виртуальный интерфейс со вторым набором деталей?
Для простоты предположим следующее;
Address One (currently configured on physical NIC):
IP Address: x.x.x.x
MAC Address: XX:XX:XX:XX:XX:XX
Gateway: x.x.x.y
Address Two (currently unconfigured):
IP Address: a.a.a.a
MAC Address: AA:AA:AA:AA:AA:AA
Gateway: x.x.x.y
Как только виртуальный интерфейс активен (aaaa), я передам его напрямую через виртуальную машину PFSense. Который затем будет действовать как пограничный маршрутизатор NAT для всех других виртуальных машин.
1 ответ
Это 50% ответов и 50% вопросов назад, но для комментария требуется слишком много места.
С netplan, который может отображать в networkd/networkManager, как вам нужно, это будет выглядеть (с моими примерами адресов, конечно):
network:
version: 2
ethernets:
ens3:
dhcp4: false
addresses:
- 192.168.122.228/24
- 10.0.0.7/24
Это дает мне нормальные 2 адреса на одном устройстве / Mac, как вам это нужно, верно?
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:a8:b4:96 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.228/24 brd 192.168.122.255 scope global ens3
valid_lft forever preferred_lft forever
inet 10.0.0.7/24 brd 10.0.0.255 scope global ens3
valid_lft forever preferred_lft forever
Примечание: Вы можете сделать это сопоставление более надежным, добавив правило соответствия, например (в случае, если тип устройства или назначение слотов могут когда-либо измениться):
match:
macaddress: 52:54:00:a8:b4:96
И я должен признать, что со сложностью networkd - если мне нужно знать, как это делается в networkd, я все еще пишу правила netplan и позволяю им отображать их, чтобы я мог прочитать то, что он создал. Исходя из этого, если вы хотите использовать только networkd, вы должны создать его следующим образом:
[Match]
Name=ens3
[Network]
Address=192.168.122.228/24
Address=10.0.0.7/24
Вышеприведенное позволит вам иметь оба IP-адреса, которые вы хотели (если это то, что вам нужно), но еще не использовать оба MAC-адреса.
Я не ожидаю, что у вашей сетевой карты действительно есть два MAC (я бы не увидел, как работает). Но я могу подумать, что у вашей сетевой карты есть один MAC, и вам "разрешено" использовать другой MAC, как, например, когда вы использовали macvlan в прошлом?
ip link add link eth0 address AA:AA:AA:AA:AA:AA ens3.1 type macvlan
Если у вас действительно есть MAC на вашем устройстве, я думаю, что все будут рады увидеть networkctl status -a
вывод, чтобы увидеть это для дальнейшего рассмотрения. В противном случае я предполагаю, что у вас есть один основной MAC (XX:...) и разрешено / предполагается добавить еще один (AA:...).
Если вы действительно относитесь к последнему случаю и недостаточно добавить еще один IP, как показано выше, то я думаю, что вы заблокированы этой ошибкой, если да, пожалуйста, сообщите об этом и добавьте ошибку с комментарием и объясните, почему вышеупомянутого нет. достаточно - в противном случае я ожидаю, что, оставаясь в списке пожеланий штата, может потребоваться некоторое время, чтобы исправить ситуацию.