LINUX.ORG.RU
ФорумAdmin

Ubuntu netplan добавление ip link type ipvlan mode l3

 , ,


0

2

Добрый день, уважаемые.

Подскажите пожалуйста, как на основе netplan сконфигурировать следующее:

sudo ip link add upl3net6 link enp6s0 type ipvlan mode l3

Сам vlan создать понятно как:

  vlans:
    upl3net6:
      id: 10
      link: enp6s0
      dhcp4: false
      dhcp4-overrides:
        use-routes: false
      addresses:
      - 1.1.6.1/24
      routes:
      ....

а вот как указать что vlan должен быть type ipvlan и mode l3?

Заранее премного благодарен, с уважением и наилучшими пожеланиями


Начать стоит с того, что vlan, macvlan и ipvlan - это совершенно разные сущности. И вероятнее, всего, тут необходим самый обычный 802.1Q vlan. Судя по конфигурации, тут vlan с id 10 подан транком и использует публичный (?) айпишник. Во-первых, нужно настроить приватный адрес из RFC1918. Во-вторых, разобраться как влан подан непосредственно на свиче. Если акцессом, то ничего настраивать не нужно и просто использовать голый ethernet интерфейс. Если транком, то использовать как-то так:

  vlans:
    upl3net6:
      id: 10
      link: enp6s0
      dhcp4: false
      dhcp4-overrides:
        use-routes: false
      addresses:
      - 10.1.6.1/24
      routes:
      ....

Всё же любопытство не даёт покоя: в чём же конечная цель этиих танцев с бубнов?

GLaDOS
()
Ответ на: комментарий от antech

Нет там такого, нив манах ни в сырцах (ну если я правильно сырцы прочитал):

static const mapping_entry_handler network_handlers[] = {
    {"bonds", YAML_MAPPING_NODE, {.map={.custom=handle_network_type}}, GUINT_TO_POINTER(NETPLAN_DEF_TYPE_BOND)},
    {"bridges", YAML_MAPPING_NODE, {.map={.custom=handle_network_type}}, GUINT_TO_POINTER(NETPLAN_DEF_TYPE_BRIDGE)},
    {"ethernets", YAML_MAPPING_NODE, {.map={.custom=handle_network_type}}, GUINT_TO_POINTER(NETPLAN_DEF_TYPE_ETHERNET)},
    {"renderer", YAML_SCALAR_NODE, {.generic=handle_network_renderer}},
    {"tunnels", YAML_MAPPING_NODE, {.map={.custom=handle_network_type}}, GUINT_TO_POINTER(NETPLAN_DEF_TYPE_TUNNEL)},
    {"version", YAML_SCALAR_NODE, {.generic=handle_network_version}},
    {"vlans", YAML_MAPPING_NODE, {.map={.custom=handle_network_type}}, GUINT_TO_POINTER(NETPLAN_DEF_TYPE_VLAN)},
    {"vrfs", YAML_MAPPING_NODE, {.map={.custom=handle_network_type}}, GUINT_TO_POINTER(NETPLAN_DEF_TYPE_VRF)},
    {"wifis", YAML_MAPPING_NODE, {.map={.custom=handle_network_type}}, GUINT_TO_POINTER(NETPLAN_DEF_TYPE_WIFI)},
    {"modems", YAML_MAPPING_NODE, {.map={.custom=handle_network_type}}, GUINT_TO_POINTER(NETPLAN_DEF_TYPE_MODEM)},
    {"dummy-devices", YAML_MAPPING_NODE, {.map={.custom=handle_network_type}}, GUINT_TO_POINTER(NETPLAN_DEF_TYPE_DUMMY)},    /* wokeignore:rule=dummy */
    {"nm-devices", YAML_MAPPING_NODE, {.map={.custom=handle_network_type}}, GUINT_TO_POINTER(NETPLAN_DEF_TYPE_NM)},
    {"openvswitch", YAML_MAPPING_NODE, {.map={.handlers=ovs_network_settings_handlers}}},
    {NULL}
};

Kolins ★★★★
()
Ответ на: комментарий от antech

Это systemd-networkd как я понимаю? Не знаю можно ли netplan обучить передавать туда конфиги а не обрабатывать. Я сам вопрос ТС покопал, ничего внятного не нашел, поставил на наблюдение

Kolins ★★★★
()

Нет поддержки ipvlan в netplan-е

Решил вопрос через /etc/systemd/system/upl3net6-iface.service

Description=Service create ipvlan l3 on enp6s0
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip link add upl3net6 link enp6s0 type ipvlan mode l3
ExecStart=/sbin/ip link set dev upl3net6 up
ExecStart=/sbin/ip addr add 1.1.6.1/24 dev upl3net6
ExecStart=/sbin/ip r add 192.168.6.0/24 dev upl3net6
ExecStop=/sbin/ip link del upl3net6

[Install]
WantedBy=multi-user.target ```


далее 


``` sudo systemctl enable upl3net6-iface.service
sudo systemctl start upl3net6-iface.service ```
hitec
() автор топика
Последнее исправление: hitec (всего исправлений: 1)