Я не уверен, что понимаю, что вы хотите сделать, добавить новый виртуальный интерфейс или переименовать существующий. В любом случае, вы и Zina оба используете устаревшие команды, пожалуйста, переключитесь на использование команд iproute2, именно по той причине, на которую указывает Zina, то есть, что некоторые функции (например, обнаружение виртуальных интерфейсов) недоступны для ifconfig и такие же старые утилиты, как маршрут.
Добавьте новый виртуальный интерфейс. Вы делаете это следующим образом:
ip link add link usb0 myeth0 type macvlan
dhclient myeth0
ip addr show
где usb0 - мое сетевое устройство (если ваше называется по-другому, пожалуйста, настройте его соответственно) В конкретном случае (мой ноутбук) выдает следующее:
# ip link add link usb0 myeth0 type macvlan
# dhclient -v myeth0
Internet Systems Consortium DHCP Client 4.3.3
Copyright 2004-2015 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/myeth0/be:6b:e7:1a:f6:50
Sending on LPF/myeth0/be:6b:e7:1a:f6:50
Sending on Socket/fallback
DHCPDISCOVER on myeth0 to 255.255.255.255 port 67 interval 3 (xid=0x99d2cf3e)
DHCPREQUEST of 192.168.73.41 on myeth0 to 255.255.255.255 port 67 (xid=0x3ecfd299)
DHCPOFFER of 192.168.73.41 from 192.168.73.1
DHCPACK of 192.168.73.41 from 192.168.73.1
bound to 192.168.73.41 -- renewal in 19941 seconds.
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 9c:eb:e8:2c:32:a5 brd ff:ff:ff:ff:ff:ff
inet 192.168.73.74/24 brd 192.168.73.255 scope global dynamic usb0
valid_lft 38149sec preferred_lft 38149sec
inet6 fe80::7470:2421:63cd:c4c1/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 60:57:18:58:03:db brd ff:ff:ff:ff:ff:ff
inet 192.168.73.45/24 brd 192.168.73.255 scope global dynamic wlan0
valid_lft 1240sec preferred_lft 1240sec
inet6 fe80::489e:3c3b:4b1b:6cb4/64 scope link
valid_lft forever preferred_lft forever
4: vboxnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.1/24 brd 192.168.56.255 scope global vboxnet0
valid_lft forever preferred_lft forever
inet6 fe80::800:27ff:fe00:0/64 scope link
valid_lft forever preferred_lft forever
5: myeth0@usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1
link/ether be:6b:e7:1a:f6:50 brd ff:ff:ff:ff:ff:ff
inet 192.168.73.41/24 brd 192.168.73.255 scope global myeth0
valid_lft forever preferred_lft forever
inet6 fe80::bc6b:e7ff:fe1a:f650/64 scope link
valid_lft forever preferred_lft forever
Здесь моя сетевая карта называется usb0, и я добавил в нее новый виртуальный интерфейс типа macvlan . Команда ip addr show также отображает MAC-адрес интерфейса (другой возможной командой для определения MAC-адреса будет ip link show). Выражение myeth0 @ usb0 показывает, что это виртуальный интерфейс, построенный на оборудовании интерфейса usb0 . Кроме того, вы можете заметить, что два интерфейса имеют разные MAC-адреса, что позволяет очень легко обрабатывать трафик ARP между ними.
Переименуйте ваш текущий интерфейс. Вы можете сделать это с помощью правила udev, создав файл /etc/udev/rules.d/70-persistent-net.rules вручную, что означает, что вам не нужно беспокоиться о том, что какой-либо скрипт обновления перезаписывает его. Добавьте к нему следующую строку:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="01:02:03:04:05:06", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"
где вам придется сменить MAC-адрес на адрес вашей карты.
Но, если вы похожи на меня (то есть очень нетерпеливы), то вы можете пожелать более радикального решения: я изменил следующую строку в /etc/default/grub, чтобы она выглядела следующим образом:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
Это восстановит соглашения об именах yore (eth0, usb0, wlan0, ...), которые я нашел достаточно хорошими.