1. Проверьте список доступных сетевых интерфейсов на вашем компьютере. Какие команды есть для этого в Linux и в Windows?
Linux
ip link show
$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether xx:xx:27:73:xx:xx brd ff:ff:ff:ff:ff:ff
ifconfig -a
$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether xx:xx:27:73:xx:xx brd ff:ff:ff:ff:ff:ff
vagrant@vagrant:~$ ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 xxxx::a00:27ff:fe73:xxxx prefixlen 64 scopeid 0x20<link>
ether xx:xx:27:73:xx:xx txqueuelen 1000 (Ethernet)
RX packets 16095 bytes 15813251 (15.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7794 bytes 984770 (984.7 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 284 bytes 26504 (26.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 284 bytes 26504 (26.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Windows
ifconfig -a
2. Какой протокол используется для распознавания соседа по сетевому интерфейсу? Какой пакет и команды есть в Linux для этого?
Протокол LLDP.
Пакет lldpd.
Команда lldpctl.
3. Какая технология используется для разделения L2 коммутатора на несколько виртуальных сетей? Какой пакет и команды есть в Linux для этого? Приведите пример конфига.
Технология называется VLAN (Virtual LAN).
Пакет в Ubuntu Linux - vlan
Пример конфига:
network:
version: 2
renderer: networkd
ethernets:
ens4:
optional: yes
addresses:
- 192.168.0.2/24
vlans:
vlan88:
id: 88
link: ens4
addresses:
- 192.168.1.2/24
4. Какие типы агрегации интерфейсов есть в Linux? Какие опции есть для балансировки нагрузки? Приведите пример конфига.
В Linux есть две технологии агрегации (LAG): bonding и teaming.
Типы агрегации bonding:
$ modinfo bonding | grep mode:
parm: mode:Mode of operation; 0 for balance-rr, 1 for active-backup, 2 for balance-xor, 3 for broadcast, 4 for 802.3ad, 5 for balance-tlb, 6 for balance-alb (charp)
active-backup
и broadcast
обеспечивают только отказоустойчивость
balance-tlb
, balance-alb
, balance-rr
, balance-xor
и 802.3ad
обеспечат отказоустойчивость и балансировку
balance-rr
- Политика round-robin. Пакеты отправляются последовательно, начиная с первого доступного интерфейса и заканчивая последним. Эта политика применяется для балансировки нагрузки и отказоустойчивости.
active-backup
- Политика активный-резервный. Только один сетевой интерфейс из объединённых будет активным. Другой интерфейс может стать активным, только в том случае, когда упадёт текущий активный интерфейс. Эта политика применяется для отказоустойчивости.
balance-xor
- Политика XOR. Передача распределяется между сетевыми картами используя формулу: [( «MAC адрес источника» XOR «MAC адрес назначения») по модулю «число интерфейсов»]. Получается одна и та же сетевая карта передаёт пакеты одним и тем же получателям. Политика XOR применяется для балансировки нагрузки и отказоустойчивости.
broadcast
- Широковещательная политика. Передает всё на все сетевые интерфейсы. Эта политика применяется для отказоустойчивости.
802.3ad
- Политика агрегирования каналов по стандарту IEEE 802.3ad. Создаются агрегированные группы сетевых карт с одинаковой скоростью и дуплексом. При таком объединении передача задействует все каналы в активной агрегации, согласно стандарту IEEE 802.3ad. Выбор через какой интерфейс отправлять пакет определяется политикой по умолчанию XOR политика.
balance-tlb
- Политика адаптивной балансировки нагрузки передачи. Исходящий трафик распределяется в зависимости от загруженности каждой сетевой карты (определяется скоростью загрузки). Не требует дополнительной настройки на коммутаторе. Входящий трафик приходит на текущую сетевую карту. Если она выходит из строя, то другая сетевая карта берёт себе MAC адрес вышедшей из строя карты.
balance-alb
- Политика адаптивной балансировки нагрузки. Включает в себя политику balance-tlb плюс осуществляет балансировку входящего трафика. Не требует дополнительной настройки на коммутаторе. Балансировка входящего трафика достигается путём ARP переговоров.
active-backup
на отказоустойчивость:
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: no
optional: true
ens5:
dhcp4: no
optional: true
bonds:
bond0:
dhcp4: yes
interfaces:
- ens3
- ens5
parameters:
mode: active-backup
primary: ens3
mii-monitor-interval: 2
balance-alb
- балансировка:
bonds:
bond0:
dhcp4: yes
interfaces:
- ens3
- ens5
parameters:
mode: balance-alb
mii-monitor-interval: 2
5. Сколько IP адресов в сети с маской /29 ? Сколько /29 подсетей можно получить из сети с маской /24. Приведите несколько примеров /29 подсетей внутри сети 10.10.10.0/24.
$ ipcalc -b 10.10.10.0/29
Address: 10.10.10.0
Netmask: 255.255.255.248 = 29
Wildcard: 0.0.0.7
=>
Network: 10.10.10.0/29
HostMin: 10.10.10.1
HostMax: 10.10.10.6
Broadcast: 10.10.10.7
Hosts/Net: 6 Class A, Private Internet
8 адресов = 6 для хостов, 1 адрес сети и 1 широковещательный адрес.
Сеть с маской /24 можно разбить на 32 подсети с маской /29
6. Задача: вас попросили организовать стык между 2-мя организациями. Диапазоны 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 уже заняты. Из какой подсети допустимо взять частные IP адреса? Маску выберите из расчета максимум 40-50 хостов внутри подсети.
- Можно взять адреса из сети для CGNAT - 100.64.0.0/10.
$ ipcalc -b 100.64.0.0/10 -s 50
Address: 100.64.0.0
Netmask: 255.192.0.0 = 10
Wildcard: 0.63.255.255
=>
Network: 100.64.0.0/10
HostMin: 100.64.0.1
HostMax: 100.127.255.254
Broadcast: 100.127.255.255
Hosts/Net: 4194302 Class A
1. Requested size: 50 hosts
Netmask: 255.255.255.192 = 26
Network: 100.64.0.0/26
HostMin: 100.64.0.1
HostMax: 100.64.0.62
Broadcast: 100.64.0.63
Hosts/Net: 62 Class A
- Маска для диапазонов будет /26, она позволит подключить 62 хоста.
7. Как проверить ARP таблицу в Linux, Windows? Как очистить ARP кеш полностью? Как из ARP таблицы удалить только один нужный IP?
Проверить таблицу можно так:
- Linux:
ip neigh
,arp -n
- Windows:
arp -a
Очистить кеш так:
- Linux:
ip neigh flush
- Windows:
arp -d *
Удалить один IP так:
- Linux:
ip neigh delete <IP> dev <INTERFACE>
,arp -d <IP>
- Windows:
arp -d <IP>