Редакция Февраль, 2026
Аннотация
ip [-d] link [show [<interface>]]
ip link set <interface> {up|down}
ip link {add|del} dev <name> type <type>
ip link {add|del} link <master-interface> name <name> type <type> [<parameters> <*args>]
ip link set <interface> master <master-interface>
ip link set dev <name> [type <type>] <parameter> <*args>
ip [-d] addr [show [<interface>]]
ip addr {add|del} dev <interface> <IPv4>/<mask>
ip route [list [table <table-name>]]
ip route {add|del} dev <interface> <IPv4-Net>/<mask>
ping [-c<N>] [-f] [-I <srcIP>] <dstIP>
tcpdump [-c<N>] [-n] [-X] [-xx] -i <interface>
traceroute [-s <srcIP>] <dstIP>
bridge vlan show
bridge vlan {add|del} vid <vlan-id> dev <interface> [pvid untagged]
.ova‑файл), на основе которого будет создана основная система, на её основе будут создаваться копии для работы.
Важно
VirtualBox поддерживает собственный набор команд для работы из терминала с помощью встроенной утилиты VBoxManage. Полный список команд представлен по команде:
$ VBoxManage --help
Предупреждение
VirtualBox поддерживает локализацию внутренних настроек, из‑за чего переведённые файлы настроек не работают. Никогда не запускайте VBoxManage и/или VirtualBox в русской локали.
~/VirtualBox VMs и ~/.config/VirtualBox.
export LC_ALL=en_US.UTF-8.
VirtualBox или выполнить ряд команд VBoxManage.
VirtualBox, выберите пункт «Импортировать образ».

.ova-файлу.

VirtualBox настройки будут находиться на следующей странице установщика или в отдельной вкладке Settings):

VirtualBox должна появиться виртуальная машина с названием вида protocols-jeos-<date>-x86_64.



Serial Ports и для порта Port 1 укажите уникальное значение в поле Path/Address.

$ VBoxManage import path/to/appliance.ova
[papillon_rouge@localhost ~]$ VBoxManage import Downloads/protocols-jeos-x86_64.ova
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interpreting /home/papillon_rouge/Downloads/protocols-jeos-x86_64.ova...
OK.
<...>
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully imported the appliance.
~/papillon_rouge:
$ VBoxManage snapshot protocols-jeos-<date>-x86_64 take SNAPSHOT_NAME
[papillon_rouge@localhost ~]$ VBoxManage snapshot protocols-jeos-20250216-x86_64 take srv_snapshot
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Snapshot taken. UUID: 3e6c0a9a-b9a8-44e6-92de-e96cd9db3790
[papillon_rouge@localhost ~]$
$ VBoxManage clonevm protocols-jeos-<date>-x86_64 --groups=/LinuxNetwork2025 --name=CLONE_NAME --options=Link --snapshot=SNAPSHOT_NAME --register
[papillon_rouge@localhost ~]$ VBoxManage clonevm protocols-jeos-20250216-x86_64 --groups=/LinuxNetwork2025 --name=srv --options=Link --snapshot=srv_snapshot --register
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Machine has been successfully cloned as "srv"
$ VBoxManage modifyvm CLONE_NAME --uartmode1 tcpserver 2026
[papillon_rouge@localhost ~]$ VBoxManage modifyvm srv --uartmode1 tcpserver 2026
VirtualBox. Однако из‑за особенностей настройки он не позволяет производить копирование из основной системы в интерфейс виртуальной машины и, соответственно, копировать данные между виртуальными машинами с помощью буфера обмена.
Shell-сценарий vbconnect, который автоматически производит включение и подключение к виртуальной машине через командную строку.
chmod +x vbconnect
./vbconnect <NAME>
/dev. Имена COM‑портов обозначаются ttyS0–ttyS3 для портов 1–4 соответственно.
Host Pipe).


root) и пароль (root).
Важно
localhost. Для переименования виртуальной машины используется специальная команда sethostname (при смене имени виртуальной машины требуется повторный вход в систему):
sethostname измените имена пользователей на first и second соответственно
localhost login: root
Password:
[root@localhost ~]# sethostname first
first login: root
Password:
Last login: Fri Sep 5 13:09:38 UTC 2025 on ttyS0
[root@first ~]#
localhost login: root
Password:
[root@localhost ~]# sethostname second
second login: root
Password:
Last login: Fri Sep 5 13:12:46 UTC 2025 on ttyS0
[root@second ~]#
stty. Без управляющих параметров она позволяет посмотреть текущие параметры портов. Для просмотра конкретного порта можно использовать перенаправление на нужный порт.
stty -a < <dev-name> получите информацию о параметрах COM‑порта №2 (ttyS1)
[root@first ~]# stty -a < /dev/ttyS1
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany
-imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho
-extproc
[root@first ~]#
raw для передачи просто последовательности байт, а также отключить дублирование данных на экран:
stty raw -echo < <dev-name> подготовьте COM‑порты для передачи
[root@first ~]# stty raw -echo < /dev/ttyS1
[root@first ~]#
[root@second ~]# stty raw -echo < /dev/ttyS1
[root@second ~]#
cat <dev-name> на first для получения данных с порта
[root@first ~]# cat /dev/ttyS1
second передайте через порт календарь
[root@second ~]# cal > /dev/ttyS1
[root@second ~]#
first:
[root@first ~]# cat /dev/ttyS1
September 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Предупреждение
poweroff в командной строке или из графического интерфейса самого VirtualBox)
Примечание


Примечание
ip link покажите все сетевые интерфейсы на first:
[root@first ~]# ip link
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> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 08:00:27:77:45:6f brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname enx08002777456f
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 08:00:27:47:8a:8c brd ff:ff:ff:ff:ff:ff
altname enp0s8
altname enx080027478a8c
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 08:00:27:45:3d:0d brd ff:ff:ff:ff:ff:ff
altname enp0s9
altname enx080027453d0d
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 08:00:27:7a:79:33 brd ff:ff:ff:ff:ff:ff
altname enp0s10
altname enx0800277a7933
[root@first ~]#
loopback, для которого отправка в него вызывает приём данных из него же). Все интерфейсы на данный момент отключены.
:new: ip link set eth1 up включите интерфейс с сетью intnet
Примечание
:new: будет обозначаться вводимая в рамках лабораторных терминология. В будущем для команд, описываемых данной терминологией, не будет писаться сама команда, а будет использоваться упоминание термина. Список терминов и связанные с ним команды представлены на заглавной странице лабораторных
ip link show eth1:
[root@first ~]# ip link set eth1 up[root@first ~]# ip link show eth13: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default q len 1000 link/ether 08:00:27:47:8a:8c brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx080027478a8c [root@first ~]#
UP, соединение включено.
:new: ip addr add dev <interface> <IPv4>/<mask> добавьте на интерфейс IP‑адрес
ip addr show eth1:
[root@first ~]# ip addr add dev eth1 10.9.0.1/24[root@first ~]# ip addr show eth13: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:47:8a:8c brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx080027478a8c inet 10.9.0.1/24 scope global eth1 valid_lft forever preferred_lft forever [root@first ~]#
second (При выборе IP‑адреса номер сети для всех абонентов одной сети должен быть одинаковым)
[root@second ~]# ip link set eth1 up[root@second ~]# ip addr add dev eth1 10.9.0.2/24[root@second ~]# ip addr show eth13: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:14:02:d0 brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx0800271402d0 inet 10.9.0.2/24 scope global eth1 valid_lft forever preferred_lft forever [root@second ~]#
ping -c<количество отправляемых пакетов> <dstIP>.
ping -c5 <dstIP> сгенерируйте ICMP‑трафик между абонентами
[root@first ~]# ping -c5 10.9.0.2
PING 10.9.0.2 (10.9.0.2) 56(84) bytes of data.
64 bytes from 10.9.0.2: icmp_seq=1 ttl=64 time=0.948 ms
64 bytes from 10.9.0.2: icmp_seq=2 ttl=64 time=0.577 ms
64 bytes from 10.9.0.2: icmp_seq=3 ttl=64 time=0.784 ms
64 bytes from 10.9.0.2: icmp_seq=4 ttl=64 time=0.711 ms
64 bytes from 10.9.0.2: icmp_seq=5 ttl=64 time=0.751 ms
--- 10.9.0.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 5105ms
rtt min/avg/max/mdev = 0.577/0.749/0.948/0.109 ms
[root@first ~]#
tcpdump -i eth1 -c2 запустите на second сканирование интерфейса
[root@second ~]# tcpdump -i eth1 -c2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
ping -c1 <ip address> выполните одиночный ping‑запрос на first
[root@first ~]# ping -c1 10.9.0.2
PING 10.9.0.2 (10.9.0.2) 56(84) bytes of data.
64 bytes from 10.9.0.2: icmp_seq=1 ttl=64 time=0.570 ms
--- 10.9.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.570/0.570/0.570/0.000 ms
[root@first ~]#
[root@second ~]# tcpdump -i eth1 -c2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
15:27:43.398843 IP 10.9.0.1 > second: ICMP echo request, id 3, seq 1, length 64
15:27:43.398872 IP second > 10.9.0.1: ICMP echo reply, id 3, seq 1, length 64
2 packets captured
2 packets received by filter
0 packets dropped by kernel
[root@second ~]#
report, создающая tar‑архив с записью команд в системе.
report <#Lab> <hostname> запустите запись отчёта на обеих машинах:
[root@first ~]# report 3 first
Report is started. Task: 03; host: first.
Use exit or ^D to finish.
[root@01-first ~]#
[root@second ~]# report 3 second
Report is started. Task: 03; host: second.
Use exit or ^D to finish.
[root@01-second ~]#
ip a show eth1
ping -c5 <адрес другого абонента>
report. Затем завершите запись с помощью команды exit или сочетания клавиш Ctrl+D.
[root@01-first ~]# ip a show eth13: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:da:00:dd brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx080027da00dd inet 10.9.0.1/24 scope global eth1 valid_lft forever preferred_lft forever[root@01-first ~]# ping -c5 10.9.0.2PING 10.9.0.2 (10.9.0.2) 56(84) bytes of data. 64 bytes from 10.9.0.2: icmp_seq=1 ttl=64 time=0.531 ms 64 bytes from 10.9.0.2: icmp_seq=2 ttl=64 time=0.635 ms 64 bytes from 10.9.0.2: icmp_seq=3 ttl=64 time=0.712 ms 64 bytes from 10.9.0.2: icmp_seq=4 ttl=64 time=0.558 ms 64 bytes from 10.9.0.2: icmp_seq=5 ttl=64 time=0.927 ms --- 10.9.0.2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4132ms rtt min/avg/max/mdev = 0.531/0.672/0.927/0.142 ms [root@01-first ~]# <^D>exit Report is stopped. [root@first ~]#
[root@01-second ~]# ip a show eth13: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:e1:50:ee brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx080027e150ee inet 10.9.0.2/24 scope global eth1 valid_lft forever preferred_lft forever[root@01-second ~]# ping -c5 10.9.0.1PING 10.9.0.1 (10.9.0.1) 56(84) bytes of data. 64 bytes from 10.9.0.1: icmp_seq=1 ttl=64 time=0.648 ms 64 bytes from 10.9.0.1: icmp_seq=2 ttl=64 time=0.780 ms 64 bytes from 10.9.0.1: icmp_seq=3 ttl=64 time=0.832 ms 64 bytes from 10.9.0.1: icmp_seq=4 ttl=64 time=0.569 ms 64 bytes from 10.9.0.1: icmp_seq=5 ttl=64 time=0.758 ms --- 10.9.0.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 0.569/0.717/0.832/0.095 ms[root@01-second ~]# exitexit Report is stopped. [root@second ~]#
report.<#Lab>.<hostname>. С помощью ls -l можно убедиться в предварительной корректности записи (число после слова root показывает размер файла, он должен быть ненулевой), а с помощью команды report <report-name> можно «проиграть» запись команд.
report <report-name> запустите получившиеся отчёты.
[root@first ~]# ls -ltotal 12 drwxr-xr-x 2 root root 4096 May 12 17:18 bin -rw-r--r-- 1 root root 2621 Oct 13 12:28 report.03.first drwx------ 2 root root 4096 May 12 17:19 tmp[root@first ~]# report report.03.firstReplay report.03.first[root@01-first ~]# ip a show eth13: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:da:00:dd brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx080027da00dd inet 10.9.0.1/24 scope global eth1 valid_lft forever preferred_lft forever[root@01-first ~]# ping -c5 10.9.0.2PING 10.9.0.2 (10.9.0.2) 56(84) bytes of data. 64 bytes from 10.9.0.2: icmp_seq=1 ttl=64 time=0.531 ms 64 bytes from 10.9.0.2: icmp_seq=2 ttl=64 time=0.635 ms 64 bytes from 10.9.0.2: icmp_seq=3 ttl=64 time=0.712 ms 64 bytes from 10.9.0.2: icmp_seq=4 ttl=64 time=0.558 ms 64 bytes from 10.9.0.2: icmp_seq=5 ttl=64 time=0.927 ms --- 10.9.0.2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4132ms rtt min/avg/max/mdev = 0.531/0.672/0.927/0.142 ms [root@01-first ~]# exit Replay report.03.first finished [root@first ~]#
[root@second ~]# ls -ltotal 12 drwxr-xr-x 2 root root 4096 May 12 17:18 bin -rw-r--r-- 1 root root 2498 Oct 13 12:29 report.03.second drwx------ 2 root root 4096 May 12 17:19 tmp[root@second ~]# report report.03.secondReplay report.03.second[root@01-second ~]# ip a show eth13: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:e1:50:ee brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx080027e150ee inet 10.9.0.2/24 scope global eth1 valid_lft forever preferred_lft forever[root@01-second ~]# ping -c5 10.9.0.1PING 10.9.0.1 (10.9.0.1) 56(84) bytes of data. 64 bytes from 10.9.0.1: icmp_seq=1 ttl=64 time=0.648 ms 64 bytes from 10.9.0.1: icmp_seq=2 ttl=64 time=0.780 ms 64 bytes from 10.9.0.1: icmp_seq=3 ttl=64 time=0.832 ms 64 bytes from 10.9.0.1: icmp_seq=4 ttl=64 time=0.569 ms 64 bytes from 10.9.0.1: icmp_seq=5 ttl=64 time=0.758 ms --- 10.9.0.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 0.569/0.717/0.832/0.095 ms[root@01-second ~]# exitexit Replay report.03.second finished [root@second ~]#
Предупреждение
poweroff.
poweroff или передачей сигнала о завершении работы из VirtualBox.
Важно
power off the machine при выключении через VirtualBox) во избежание ошибок в сохранении данных.
[root@first ~]# poweroff------------------------------------------[root@second ~]# poweroff
Port Mode: Raw File). В качестве названия выводимого файла необходимо указать соответствующее имя файла report.<#Lab>.<hostname>.


Tab для записи длинных команд):
stty raw -echo < /dev/ttyS1
cat > report.<#Lab>.<hostname> > /dev/ttyS1
[root@first ~]# lsbin report.03.first tmp[root@first ~]# stty raw -echo < /dev/ttyS1[root@first ~]# cat report.03.first > /dev/ttyS1[root@first ~]# poweroff
[root@second ~]# lsbin report.03.second tmp[root@second ~]# stty raw -echo < /dev/ttyS1[root@second ~]# cat report.03.second > /dev/ttyS1[root@second ~]# poweroff
Linux можно установить утилиту report из репозитория и проверять корректность записанного файла также прогоном в утилите:
[USER@USERsPC] ls | grep report report.03.first report.03.second [USER@USERsPC] report report.03.first tar: ./CPU.txt: time stamp 2025-10-13 15:25:57 is 8649.335340872 s in the future tar: ./IN.txt: time stamp 2025-10-13 15:28:02 is 8774.335237496 s in the future tar: ./BOTH.txt: time stamp 2025-10-13 15:28:02 is 8774.335184105 s in the future tar: ./TIME.txt: time stamp 2025-10-13 15:28:02 is 8774.335138278 s in the future tar: ./OUT.txt: time stamp 2025-10-13 15:28:02 is 8774.335085218 s in the future tar: .: time stamp 2025-10-13 15:25:57 is 8649.334813324 s in the future Replay report.03.first[root@01-first ~]# ip a show eth13: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:da:00:dd brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx080027da00dd inet 10.9.0.1/24 scope global eth1 valid_lft forever preferred_lft forever[root@01-first ~]# ping -c5 10.9.0.2PING 10.9.0.2 (10.9.0.2) 56(84) bytes of data. 64 bytes from 10.9.0.2: icmp_seq=1 ttl=64 time=0.531 ms 64 bytes from 10.9.0.2: icmp_seq=2 ttl=64 time=0.635 ms 64 bytes from 10.9.0.2: icmp_seq=3 ttl=64 time=0.712 ms 64 bytes from 10.9.0.2: icmp_seq=4 ttl=64 time=0.558 ms 64 bytes from 10.9.0.2: icmp_seq=5 ttl=64 time=0.927 ms --- 10.9.0.2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4132ms rtt min/avg/max/mdev = 0.531/0.672/0.927/0.142 ms [root@01-first ~]# exit Replay report.03.first finished [USER@USERsPC]

PC1:
Adapter2 — intnet
PC2:
Adapter2 — intnet
ip link или ip link show. Здесь показывается основная информация о состоянии интерфейса и его базовых параметрах. Для отслеживание конкретного интерфейса необходимо явно указывать его в команде ip link show <interface>. Для получения расширенной информации необходимо использовать ключ -d в команде (ВАЖНО: после слова ip, до всех остальных слов в команде).
ip link на PC1 выведите информацию о доступных сетевых интерфейсах.
[root@PC1 ~]# ip link
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> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 08:00:27:f5:b6:8c brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname enx080027f5b68c
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 08:00:27:04:e4:05 brd ff:ff:ff:ff:ff:ff
altname enp0s8
altname enx08002704e405
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 08:00:27:16:43:2e brd ff:ff:ff:ff:ff:ff
altname enp0s9
altname enx08002716432e
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 08:00:27:8b:a9:e1 brd ff:ff:ff:ff:ff:ff
altname enp0s10
altname enx0800278ba9e1
ip link show <interface> на PC1 выведите информацию об интерфейсе eth1.
[root@PC1 ~]# ip link show eth1
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 08:00:27:04:e4:05 brd ff:ff:ff:ff:ff:ff
altname enp0s8
altname enx08002704e405
ip -d link show <interface> на PC1 выведите подробную информацию об интерфейсе lo.
[root@PC1 ~]# ip -d link show lo
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 promiscuity 0 allmulti 0 minmtu 0 maxmtu 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 524280 tso_max_segs 65535 gro_max_size 65536 gso_ipv4_max_size 65536 gro_ipv4_max_size 65536
ip link set <interface> UP. В панели интерфейсов при этом меняется состояние (поле state) интерфейса.
[root@PC1 ~]# ip link show eth13: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 08:00:27:04:e4:05 brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx08002704e405[root@PC1 ~]# ip link set eth1 up[root@PC1 ~]# ip link show eth13: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:04:e4:05 brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx08002704e405 [root@PC1 ~]#
ip addr (ip a, ip addr show, ip a show). Вывод представляет собой вывод информации о интерфейсах (ip link), дополненный информацией об IP‑адресах. Команда также поддерживает обращение к конкретному интерфейсу и флаг -d для просмотра расширенных настроек.
ip addr на PC2 выведите информацию о всех интерфейсах с описанием установленных IP‑адресов
[root@PC2 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:37:4f:eb brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname enx080027374feb
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:ee:00:c5 brd ff:ff:ff:ff:ff:ff
altname enp0s8
altname enx080027ee00c5
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:f4:dc:7b brd ff:ff:ff:ff:ff:ff
altname enp0s9
altname enx080027f4dc7b
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:f7:0d:ae brd ff:ff:ff:ff:ff:ff
altname enp0s10
altname enx080027f70dae
ip addr show <interface> на PC2 выведите информацию об интерфейсе eth1 с описанием установленных IP‑адресов
[root@PC2 ~]# ip addr show eth1
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:ee:00:c5 brd ff:ff:ff:ff:ff:ff
altname enp0s8
altname enx080027ee00c5
ip -d addr show <interface> на PC2 выведите подробную информацию об интерфейсе eth1 с описанием установленных IP‑адресов
[root@PC2 ~]# ip -d a show eth1
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:ee:00:c5 brd ff:ff:ff:ff:ff:ff promiscuity 0 allmulti 0 minmtu 46 maxmtu 16110
numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535
gro_max_size 65536 gso_ipv4_max_size 65536 gro_ipv4_max_size 65536 parentbus pci parentdev 0000:00:08.
0
altname enp0s8
altname enx080027ee00c5
[root@PC2 ~]#
ip addr add dev <interface> <IPv4>/<mask>. Заметьте, что в выводе команды ip a show eth1 после добавления IP‑адреса поле scope имеет значение global (в отличие от scope host на LoopBack‑е); это показатель возможности использования данного адреса для сетевого взаимодействия через него с другими абонентами сети.
[root@PC1 ~]# ip addr add dev eth1 10.0.12.1/24[root@PC1 ~]# ip a show eth13: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:04:e4:05 brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx08002704e405 inet 10.0.12.1/24 scope global eth1 valid_lft forever preferred_lft forever [root@PC1 ~]#
[root@PC2 ~]# ip addr add dev eth1 10.0.12.2/24[root@PC2 ~]# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 08:00:27:37:4f:eb brd ff:ff:ff:ff:ff:ff altname enp0s3 altname enx080027374feb 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 08:00:27:ee:00:c5 brd ff:ff:ff:ff:ff:ff altname enp0s8 altname enx080027ee00c5 inet 10.0.12.2/24 scope global eth1 valid_lft forever preferred_lft forever 4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 08:00:27:f4:dc:7b brd ff:ff:ff:ff:ff:ff altname enp0s9 altname enx080027f4dc7b 5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 08:00:27:f7:0d:ae brd ff:ff:ff:ff:ff:ff altname enp0s10 altname enx080027f70dae [root@PC2 ~]#
ping <dstIP>, отправляющая ICMP‑пакеты и получающая на них ответы, что и является подтверждением корректного двунаправленного соединения. Для работы удобно использовать флаги: -c<N> для регулировки количества отправляемых сообщений (∞ по умолчанию), -f для мгновенной отправки сразу пачки пакетов (удобно комбинировать с -c: например, ping -fc3 <dstIP> мгновенно отправит три ICMP‑пакета).
ping -c3 <dstIP> отправьте три ICMP‑пакета с PC1 на PC2
[root@PC1 ~]# ping -c3 10.0.12.2
PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
From 10.0.12.1 icmp_seq=1 Destination Host Unreachable
From 10.0.12.1 icmp_seq=2 Destination Host Unreachable
From 10.0.12.1 icmp_seq=3 Destination Host Unreachable
--- 10.0.12.2 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2077ms
pipe 3
[root@PC1 ~]#
eth1 на PC2 отключён, при попытке передачи данных между абонентами будет появляться ошибка From <srcIP> icmp_seq=<N> Destination Host Unreachable. Ошибка показывает, что пакеты успешно отправляются с устройства, однако достигнуть получателя не могут.
[root@PC2 ~]# ip link set eth1 up
[root@PC2 ~]#
ping -c3 <dstIP> повторно отправьте три ICMP‑пакета с PC1 на PC2
[root@PC1 ~]# ping -c3 10.0.12.2
PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
64 bytes from 10.0.12.2: icmp_seq=1 ttl=64 time=0.898 ms
64 bytes from 10.0.12.2: icmp_seq=2 ttl=64 time=0.435 ms
64 bytes from 10.0.12.2: icmp_seq=3 ttl=64 time=0.365 ms
--- 10.0.12.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2044ms
rtt min/avg/max/mdev = 0.365/0.566/0.898/0.236 ms
[root@PC1 ~]#
main — используется для описания внешних маршрутов;
local — для описания локальных маршрутов (в том числе broadcast‑маршрутов).
ip route (ip route list). Для просмотра конкретной таблицы используется команда ip route list table <table-name>. Для просмотра всех таблиц используется table-name=all.
[root@PC2 ~]# ip route10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2[root@PC2 ~]# ip route list table main10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2[root@PC2 ~]# ip route list table locallocal 10.0.12.2 dev eth1 proto kernel scope host src 10.0.12.2 broadcast 10.0.12.255 dev eth1 proto kernel scope link src 10.0.12.2 local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1 local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1 broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1[root@PC2 ~]# ip route list table all10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2 local 10.0.12.2 dev eth1 table local proto kernel scope host src 10.0.12.2 broadcast 10.0.12.255 dev eth1 table local proto kernel scope link src 10.0.12.2 local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1 local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1 broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1 [root@PC2 ~]#
[root@PC1 ~]# ip route10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.1[root@PC1 ~]# ip route del dev eth1 10.0.12.0/24[root@PC1 ~]# ip route
ping -c3 <dstIP> отправьте три ICMP‑пакета с PC1 на PC2.
[root@PC1 ~]# ping -c3 10.0.12.2
ping: connect: Network is unreachable
[root@PC1 ~]#
ping: connect: Network is unreachable обозначает невозможность маршрутизировать пакет на источнике. Добавление адреса обратно возвращает работоспособность сети.
[root@PC1 ~]# ip route add dev eth1 10.0.12.0/24[root@PC1 ~]# ip route10.0.12.0/24 dev eth1 scope link [root@PC1 ~]#
ping -c3 <dstIP> повторно отправьте три ICMP‑пакета с PC1 на PC2.
[root@PC1 ~]# ping -c3 10.0.12.2
PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
64 bytes from 10.0.12.2: icmp_seq=1 ttl=64 time=0.582 ms
64 bytes from 10.0.12.2: icmp_seq=2 ttl=64 time=0.549 ms
64 bytes from 10.0.12.2: icmp_seq=3 ttl=64 time=0.488 ms
--- 10.0.12.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2067ms
rtt min/avg/max/mdev = 0.488/0.539/0.582/0.038 ms
[root@PC1 ~]#
tcpdump, сканирующая сетевые интерфейсы и возвращающая информацию о проходящих через интерфейс пакетах. Вызов утилиты неразрывно связан с параметром -i <interface> для указания интерфейса, на котором будет проходить сканирование.
tcpdump -i <interface> запустите на PC2 сканирование интерфейса eth1.
[root@PC2 ~]# tcpdump -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
ping -c1 <dstIP> отправьте один ICMP‑пакет с PC1 на PC2.
[root@PC1 ~]# ping -c1 10.0.12.2
PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
64 bytes from 10.0.12.2: icmp_seq=1 ttl=64 time=0.662 ms
--- 10.0.12.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.662/0.662/0.662/0.000 ms
[root@PC1 ~]#
Ctrl+C.
[root@PC2 ~]# tcpdump -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
19:34:59.183275 IP 10.0.12.1 > PC2: ICMP echo request, id 5, seq 1, length 64
19:34:59.183301 IP PC2 > 10.0.12.1: ICMP echo reply, id 5, seq 1, length 64
19:35:04.320317 ARP, Request who-has PC2 tell 10.0.12.1, length 46
19:35:04.320330 ARP, Reply PC2 is-at 08:00:27:ee:00:c5 (oui Unknown), length 28
19:35:04.610697 ARP, Request who-has 10.0.12.1 tell PC2, length 28
19:35:04.611626 ARP, Reply 10.0.12.1 is-at 08:00:27:04:e4:05 (oui Unknown), length 46
^C
6 packets captured
6 packets received by filter
0 packets dropped by kernel
[root@PC2 ~]#
tcpdump перехватил 6 пакетов: пару запрос‑ответ ICMP от ping, а также две пары запрос‑ответов ARP для определения связи MAC‑адресов устройств и IP‑адресов.
tcpdump является -X, показывающий шестнадцатиричный код пакета, а также (по возможности) его ASCII‑расшифровку. Ключ полезен для отслеживания передаваемых в пакете данных.
[root@PC2 ~]# tcpdump -X -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
ping -c1 <dstIP> отправьте один ICMP‑пакет с PC1 на PC2.
[root@PC1 ~]# ping -c1 10.0.12.2
PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
64 bytes from 10.0.12.2: icmp_seq=1 ttl=64 time=0.662 ms
--- 10.0.12.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.662/0.662/0.662/0.000 ms
[root@PC1 ~]#
Ctrl+C.
[root@PC2 ~]# tcpdump -X -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
19:39:18.001500 IP 10.0.12.1 > PC2: ICMP echo request, id 6, seq 1, length 64
0x0000: 4500 0054 ce95 4000 4001 4011 0a00 0c01 E..T..@.@.@.....
0x0010: 0a00 0c02 0800 8203 0006 0001 e577 e168 .............w.h
0x0020: 0000 0000 ea41 0600 0000 0000 1011 1213 .....A..........
0x0030: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 .............!"#
0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233 $%&'()*+,-./0123
0x0050: 3435 3637 4567
19:39:18.001545 IP PC2 > 10.0.12.1: ICMP echo reply, id 6, seq 1, length 64
0x0000: 4500 0054 553d 0000 4001 f969 0a00 0c02 E..TU=..@..i....
0x0010: 0a00 0c01 0000 8a03 0006 0001 e577 e168 .............w.h
0x0020: 0000 0000 ea41 0600 0000 0000 1011 1213 .....A..........
0x0030: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 .............!"#
0x0040: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233 $%&'()*+,-./0123
0x0050: 3435 3637 4567
2 packets captured
2 packets received by filter
0 packets dropped by kernel
[root@PC2 ~]#
Примечание
-n, который убирает из описания перехваченных пакетов известные имена устройств, заменяя их на IP‑адреса.
[root@PC2 ~]# tcpdump -n -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
ping -c1 <dstIP> отправьте один ICMP‑пакет с PC1 на PC2.
[root@PC1 ~]# ping -c1 10.0.12.2
PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data.
64 bytes from 10.0.12.2: icmp_seq=1 ttl=64 time=0.662 ms
--- 10.0.12.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.662/0.662/0.662/0.000 ms
[root@PC1 ~]#
Ctrl+C.
[root@PC2 ~]# tcpdump -n -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
19:40:30.751100 IP 10.0.12.1 > 10.0.12.2: ICMP echo request, id 8, seq 1, length 64
19:40:30.751127 IP 10.0.12.2 > 10.0.12.1: ICMP echo reply, id 8, seq 1, length 64
2 packets captured
2 packets received by filter
0 packets dropped by kernel
[root@PC2 ~]#
report 4 pc1
ip a show eth1.
ip route.
ip route del dev eth1 10.0.12.0/24.
ping -fc3 10.0.12.2.
ip route add dev eth1 10.0.12.0/24.
ip route.
tcpdump -c6 -nX -i eth1.
tcpdump.
report 4 pc1
ip a.
ip route.
ip link set eth1 down.
ping -fc3 10.0.12.1.
ip link set eth1 up.
ping -c3 10.0.12.1.
report.04.pc1 и report.04.pc2 через последовательный порт перенести из виртуальной машины и прислать их преподавателю.
VID).


PC и com циркулируют обычные Ethernet‑фреймы, а между узлами comleft и comright — любые модифицированные 802.1Q (т. н. trunk). При этом фреймы, получаемые от PC1 и PC4 помечаются одним VID, а от PC2 и PC3 — двумя другими. Таким образом PC1 и PC4 образуют единый VLAN и доступны друг для друга, а PC2 и PC3 находятся в изолированных VLAN‑ах с единственным абонентом в каждом.
com_left:
Adapter2 — trunk
Adapter3 — left4
Adapter4 — left2
com_right:
Adapter2 — trunk
Adapter3 — right4
Adapter4 — right3
pc1:
Adapter2 — left4
pc2:
Adapter2 — left2
pc3:
Adapter2 — right3
pc4:
Adapter2 — right4
[root@pc1 ~]# ip link set eth1 up[root@pc1 ~]# ip addr add dev eth1 10.0.0.1/24
[root@pc2 ~]# ip link set eth1 up[root@pc2 ~]# ip addr add dev eth1 10.0.0.2/24
[root@pc3 ~]# ip link set eth1 up[root@pc3 ~]# ip addr add dev eth1 10.0.0.3/24
[root@pc4 ~]# ip link set eth1 up[root@pc4 ~]# ip addr add dev eth1 10.0.0.4/24
comleft и comright выступают в топологии в роли сетевых мостов — сетевых устройств, позволяющих обеспечивать целевую маршрутизацию данных не выше интерфейсного уровня.
bridge, через которые с помощью команды связывания интерфейсов :new: ip link set <interface> master <master-interface> будут объединяться интерфейсы разных каналов. Данные сетевые интерфейсы также будут обеспечивать фильтрацию фреймов по тегам VLAN, для этого при их создании необходимо указать параметр vlan_filtering.
bridge с указанием параметра vlan_filtering и свяжите с ними все используемые физические интерфейсы.
[root@comleft ~]# ip link add dev br0 type bridge vlan_filtering 1[root@comleft ~]# ip link set eth1 master br0[root@comleft ~]# ip link set eth2 master br0[root@comleft ~]# ip link set eth3 master br0
[root@comright ~]# ip link add dev br0 type bridge vlan_filtering 1[root@comright ~]# ip link set eth1 master br0[root@comright ~]# ip link set eth2 master br0[root@comright ~]# ip link set eth3 master br0
bridge vlan add vid <vlan-id> dev <interface> необходимо указать, какой интерфейс будет обрабатывать фреймы с указанным тегом:
[root@comleft ~]# bridge vlan add vid 2 dev eth3 pvid untagged[root@comleft ~]# bridge vlan add vid 4 dev eth2 pvid untagged[root@comleft ~]# bridge vlan add vid 2 dev eth1[root@comleft ~]# bridge vlan add vid 3 dev eth1[root@comleft ~]# bridge vlan add vid 4 dev eth1
[root@comright ~]# bridge vlan add vid 3 dev eth3 pvid untagged[root@comright ~]# bridge vlan add vid 4 dev eth2 pvid untagged[root@comright ~]# bridge vlan add vid 2 dev eth1[root@comright ~]# bridge vlan add vid 3 dev eth1[root@comright ~]# bridge vlan add vid 4 dev eth1
неиспользуемые ).
[root@comleft ~]# for I in `ls /sys/class/net`; do ip link set $I up; done
[root@comright ~]# for I in `ls /sys/class/net`; do ip link set $I up; done
bridge vlan show.
comleft.
[root@comleft ~]# bridge vlan show
port vlan-id
eth1 1 PVID Egress Untagged
2
3
4
eth2 1 Egress Untagged
4 PVID Egress Untagged
eth3 1 Egress Untagged
2 PVID Egress Untagged
br0 1 PVID Egress Untagged
[root@comleft ~]#
pc1 и pc4 будет проходить соединение, между любой другой парой абонентов — нет.
ping -c5 <dstIP> отправьте пять ICMP‑пакетов с PC3 на PC2 и пять ICMP‑пакетов с PC3 на PC1.
[root@pc3 ~]# ping -c5 10.0.0.2PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data. From 10.0.0.3 icmp_seq=1 Destination Host Unreachable ping: sendmsg: No route to host From 10.0.0.3 icmp_seq=2 Destination Host Unreachable From 10.0.0.3 icmp_seq=3 Destination Host Unreachable From 10.0.0.3 icmp_seq=5 Destination Host Unreachable --- 10.0.0.2 ping statistics --- 5 packets transmitted, 0 received, +4 errors, 100% packet loss, time 4105ms pipe 3[root@pc3 ~]# ping -c5 10.0.0.1PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.948 ms 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.792 ms 64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.663 ms 64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=1.08 ms 64 bytes from 10.0.0.1: icmp_seq=5 ttl=64 time=1.28 ms --- 10.0.0.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4064ms rtt min/avg/max/mdev = 0.663/0.953/1.282/0.217 ms [root@pc3 ~]#
ping -c5 <dstIP> отправьте пять ICMP‑пакетов с PC4 на PC1.
[root@pc4 ~]# ping -c5 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.948 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.792 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.663 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=1.08 ms
64 bytes from 10.0.0.1: icmp_seq=5 ttl=64 time=1.28 ms
--- 10.0.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4064ms
rtt min/avg/max/mdev = 0.663/0.953/1.282/0.217 ms
[root@pc4 ~]#
comleft команду tcpdump -xx -i eth1, которая будет отслеживать трафик на интерфейсе eth1.
comleft сканирование интерфейса eth1 c выводом кода пакета.
[root@comleft ~]# tcpdump -xx -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
ping -c3 <dstIP> отправьте три ICMP‑пакета с PC3 на PC1.
[root@pc3 ~]# ping -c3 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
From 10.0.0.3 icmp_seq=1 Destination Host Unreachable
From 10.0.0.3 icmp_seq=2 Destination Host Unreachable
From 10.0.0.3 icmp_seq=3 Destination Host Unreachable
--- 10.0.0.1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2077ms
pipe 3
[root@pc3 ~]#
[root@comleft ~]# tcpdump -xx -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
22:18:47.881650 ARP, Request who-has 10.0.0.1 tell 10.0.0.3, length 46
0x0000: ffff ffff ffff 0800 27cc 8f19 8100 0003
0x0010: 0806 0001 0800 0604 0001 0800 27cc 8f19
0x0020: 0a00 0003 0000 0000 0000 0a00 0001 0000
0x0030: 0000 0000 0000 0000 0000 0000 0000 0000
22:18:48.933866 ARP, Request who-has 10.0.0.1 tell 10.0.0.3, length 46
0x0000: ffff ffff ffff 0800 27cc 8f19 8100 0003
0x0010: 0806 0001 0800 0604 0001 0800 27cc 8f19
0x0020: 0a00 0003 0000 0000 0000 0a00 0001 0000
0x0030: 0000 0000 0000 0000 0000 0000 0000 0000
22:18:49.957684 ARP, Request who-has 10.0.0.1 tell 10.0.0.3, length 46
0x0000: ffff ffff ffff 0800 27cc 8f19 8100 0003
0x0010: 0806 0001 0800 0604 0001 0800 27cc 8f19
0x0020: 0a00 0003 0000 0000 0000 0a00 0001 0000
0x0030: 0000 0000 0000 0000 0000 0000 0000 0000
report 5 comright
ip a show.
bridge vlan show.
tcpdump -n -i eth1.
tcpdump через Ctrl+C.
report 5 comleft
ip a show.
bridge vlan show.
tcpdump -n -i eth1.
tcpdump через Ctrl+C.
report 5 pc1
ip a show eth1.
ping -fc3 10.0.0.3.
ping -fc3 10.0.0.4.
report 5 pc2
ip a show eth1.
ping -fc3 10.0.0.3.
ping -fc3 10.0.0.4.
report 5 pc3
ip a show eth1.
ping -fc3 10.0.0.1.
ping -fc3 10.0.0.2.
report 5 pc4
ip a show eth1.
ping -fc3 10.0.0.1.
ping -fc3 10.0.0.2.
report.05.comright, report.05.comleft, report.05.pc1, report.05.pc2, report.05.pc3, report.05.pc4 через последовательный порт перенести из виртуальной машины и прислать их преподавателю.

R1:
Adapter2 — left4
R2:
Adapter2 — trunk
R3:
Adapter2 — right8
S1:
Adapter2 — left4
Adapter3 — trunk
Adapter4 — right8
[root@R1 ~]# ip link set eth1 up[root@R1 ~]# ip addr add dev eth1 10.0.4.1/24[root@R1 ~]#
[root@R3 ~]# ip link set eth1 up[root@R3 ~]# ip addr add dev eth1 10.0.8.1/24[root@R3 ~]#
[root@R2 ~]# ip link add link eth1 name vlan4 type vlan id 4[root@R2 ~]# ip link add link eth1 name vlan8 type vlan id 8[root@R2 ~]#
[root@R2 ~]# ip addr add dev vlan4 10.0.4.254/24[root@R2 ~]# ip addr add dev vlan8 10.0.8.254/24[root@R2 ~]# ip link set eth1 up[root@R2 ~]# ip link set vlan4 up[root@R2 ~]# ip link set vlan8 up[root@R2 ~]#
net.ipv4.conf.all.forwarding.
sysctl net.ipv4.conf.all.forwarding=1 разрешите передачу пакетов на R2
[root@R2 ~]# sysctl net.ipv4.conf.all.forwardingnet.ipv4.conf.all.forwarding = 0[root@R2 ~]# sysctl net.ipv4.conf.all.forwarding=1[root@R2 ~]#
[root@S1 ~]# ip link add dev br0 type bridge vlan_filtering 1[root@S1 ~]# ip link set eth1 master br0[root@S1 ~]# ip link set eth2 master br0[root@S1 ~]# ip link set eth3 master br0
[root@S1 ~]# bridge vlan add vid 4 dev eth1 pvid untagged[root@S1 ~]# bridge vlan add vid 8 dev eth3 pvid untagged[root@S1 ~]# bridge vlan add vid 4 dev eth2[root@S1 ~]# bridge vlan add vid 8 dev eth2
[root@S1 ~]# for I in `ls /sys/class/net`; do ip link set $I up; done
[root@R1 ~]# ip route add default via 10.0.4.254
[root@R3 ~]# ip route add default via 10.0.8.254
[root@R2 ~]# tcpdump -xx -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
ping -c3 <dstIP> отправьте три ICMP‑пакета с R1 на R3
[root@R1 ~]# ping -c3 10.0.8.1
PING 10.0.8.1 (10.0.8.1) 56(84) bytes of data.
64 bytes from 10.0.8.1: icmp_seq=1 ttl=63 time=3.28 ms
64 bytes from 10.0.8.1: icmp_seq=2 ttl=63 time=1.87 ms
64 bytes from 10.0.8.1: icmp_seq=3 ttl=63 time=1.97 ms
--- 10.0.8.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.868/2.371/3.282/0.644 ms
[root@R1 ~]#
tcpdump сопровождается четырьмя отметками: двумя для исходящего пакета и двумя для ответного. Отметки об одном и том же пакете отличаются только в 13–16 байтах (конец первой строки каждого пакета). Это тэг VID: 0x8100 — это информационные байты, сообщающие о наличии тэга в заголовке, 0x0008 и 0x0004 — сами значения идентификаторов тэга.
[root@R2 ~]# tcpdump -xx -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
20:25:49.360836 IP 10.0.4.1 > 10.0.8.1: ICMP echo request, id 2, seq 1, length 64
0x0000: 0800 2719 4dcd 0800 27f5 ce47 8100 0004
0x0010: 0800 4500 0054 0023 4000 4001 1a85 0a00
0x0020: 0401 0a00 0801 0800 c6f6 0002 0001 4d5f
0x0030: d068 0000 0000 546b 0000 0000 0000 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
20:25:49.360855 IP 10.0.4.1 > 10.0.8.1: ICMP echo request, id 2, seq 1, length 64
0x0000: 0800 27b3 98a5 0800 2719 4dcd 8100 0008
0x0010: 0800 4500 0054 0023 4000 3f01 1b85 0a00
0x0020: 0401 0a00 0801 0800 c6f6 0002 0001 4d5f
0x0030: d068 0000 0000 546b 0000 0000 0000 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
20:25:49.361696 IP 10.0.8.1 > 10.0.4.1: ICMP echo reply, id 2, seq 1, length 64
0x0000: 0800 2719 4dcd 0800 27b3 98a5 8100 0008
0x0010: 0800 4500 0054 2bb9 0000 4001 2eef 0a00
0x0020: 0801 0a00 0401 0000 cef6 0002 0001 4d5f
0x0030: d068 0000 0000 546b 0000 0000 0000 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
20:25:49.361705 IP 10.0.8.1 > 10.0.4.1: ICMP echo reply, id 2, seq 1, length 64
0x0000: 0800 27f5 ce47 0800 2719 4dcd 8100 0004
0x0010: 0800 4500 0054 2bb9 0000 3f01 2fef 0a00
0x0020: 0801 0a00 0401 0000 cef6 0002 0001 4d5f
0x0030: d068 0000 0000 546b 0000 0000 0000 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
<...>

PC1 и PC3 должны быть объединены в один VLAN с номером (X + 10).
PC2 и PC4 должны быть объединены в другой VLAN с номером (X + 20).
R1.
10.0.{X+10}.0/24.
10.0.{X+20}.0/24.
Примечание
report 6 pc1
ip a show <PC1→S1 interface>.
ip route.
ping -fc3 10.0.{X+10}.R.
ping -fc3 10.0.{X+20}.R.
ping -fc3 10.0.{X+20}.B.
ping -fc3 10.0.{X+10}.C.
ping -fc3 10.0.{X+20}.D.
traceroute 10.0.{X+10}.C.
report 6 pc2
ip a show <PC2→S1 interface>.
ip route.
ping -fc3 10.0.{X+20}.R.
ping -fc3 10.0.{X+10}.R.
ping -fc3 10.0.{X+10}.A.
ping -fc3 10.0.{X+10}.C.
ping -fc3 10.0.{X+20}.D.
traceroute 10.0.{X+20}.D.
report 6 pc3
ip a show <PC3→S2 interface>.
ip route.
ping -fc3 10.0.{X+10}.R.
ping -fc3 10.0.{X+20}.R.
ping -fc3 10.0.{X+10}.A.
ping -fc3 10.0.{X+20}.B.
ping -fc3 10.0.{X+20}.D.
traceroute 10.0.{X+10}.A.
report 6 pc4
ip a show <PC4→S2 interface>.
ip route.
ping -fc3 10.0.{X+20}.R.
ping -fc3 10.0.{X+10}.R.
ping -fc3 10.0.{X+10}.A.
ping -fc3 10.0.{X+20}.B.
ping -fc3 10.0.{X+10}.C.
traceroute 10.0.{X+20}.B.
report 6 r1
ip a show <R1→S2 (vlan X+10) interface>.
ip a show <R1→S2 (vlan X+20) interface>.
ip route.
sysctl net.ipv4.conf.all.forwarding.
report 6 s1
bridge vlan show.
report 6 s2
bridge vlan show.
report.06.pc1, report.06.pc2, report.06.pc3, report.06.pc4, report.06.r1, report.06.s1, report.06.s2 через последовательный порт перенести из виртуальной машины и прислать их преподавателю с подписью выполненного варианта.

first:
Adapter2 — intnet
Adapter3 — deepnet
second:
Adapter2 — intnet
Adapter3 — deepnet
[root@first ~]# ip link add br0 type bridge[root@first ~]# ip link set eth1 master br0[root@first ~]# ip link set eth2 master br0[root@first ~]#
[root@second ~]# ip link add br0 type bridge[root@second ~]# ip link set eth1 master br0[root@second ~]# ip link set eth2 master br0[root@second ~]#
[root@first ~]# ip link set br0 up[root@first ~]# ip link set eth1 up[root@first ~]# ip link set eth2 up[root@first ~]#
[root@second ~]# ip link set br0 up[root@second ~]# ip link set eth1 up[root@second ~]# ip link set eth2 up[root@second ~]#
[root@first ~]# ip -d link show br0
6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default ql
en 1000
link/ether 08:00:27:26:29:ce brd ff:ff:ff:ff:ff:ff promiscuity 0 allmulti 0 minmtu 68 maxmtu 65535
bridge forward_delay 1500 hello_time 200 max_age 2000 ageing_time 30000 stp_state 0 priority 32768
vlan_filtering 0 vlan_protocol 802.1Q bridge_id 8000.8:0:27:26:29:ce designated_root 8000.8:0:27:26:29:ce
root_port 0 root_path_cost 5 topology_change 0 topology_change_detected 0 hello_timer 0.00 tcn_timer 0.00
topology_change_timer 0.00 gc_timer 31.90 fdb_n_learned 2 fdb_max_learned 0 vlan_default_pvid 1
vlan_stats_enabled 0 vlan_stats_per_port 0 group_fwd_mask 0 group_address 01:80:c2:00:00:00 mcast_snooping 1
no_linklocal_learn 0 mcast_vlan_snooping 0 mst_enabled 0 mcast_router 1 mcast_query_use_ifaddr 0
mcast_querier 0 mcast_hash_elasticity 16 mcast_hash_max 4096 mcast_last_member_count 2 mcast_startup_query_count 2
mcast_last_member_interval 100 mcast_membership_interval 26000 mcast_querier_interval 25500
mcast_query_interval 12500 mcast_query_response_interval 1000 mcast_startup_query_interval 3125
mcast_stats_enabled 0 mcast_igmp_version 2 mcast_mld_version 1 nf_call_iptables 0 nf_call_ip6tables 0
nf_call_arptables 0 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536
tso_max_segs 65535 gro_max_size 65536 gso_ipv4_max_size 65536 gro_ipv4_max_size 65536
[root@first ~]#
listening и learning).
bridge link на коммутаторах выведите параметры всех связанных с сетевым мостом интерфейсов.
[root@first ~]# bridge link
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5
[root@first ~]#
[root@second ~]# bridge link
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5
[root@second ~]#
stp_state, priority, bridge_id, designated_port, root_port.
[root@first ~]# ip -d link show br0 | grep root
bridge <...> stp_state 0 priority 32768 <...>
bridge_id 8000.8:0:27:26:29:ce designated_root 8000.8:0:27:26:29:ce root_port 0 <...>
[root@first ~]#
[root@second ~]# ip -d link show br0 | grep root
bridge <...> stp_state 0 priority 32768 <...>
bridge_id 8000.8:0:27:5a:86:5c designated_root 8000.8:0:27:5a:86:5c root_port 0 <...>
[root@second ~]#
ip link set dev br0 type bridge stp_state 1 на коммутаторах включите протокол STP. С помощью команд управления интерфейсами и сетевым мостом выведите параметры интерфейсов и моста.
[root@first ~]# ip link set dev br0 type bridge stp_state 1<Some time later>[root@first ~]# ip -d link show br0 | grep rootbridge <...> stp_state 1 priority 32768 <...> bridge_id 8000.8:0:27:26:29:ce designated_root 8000.8:0:27:26:29:ce root_port 0 <...>[root@first ~]# bridge link3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5 [root@first ~]#
[root@second ~]# ip link set dev br0 type bridge stp_state 1<Some time later>[root@second ~]# ip -d link show br0 | grep rootbridge <...> stp_state 1 priority 32768 <...> bridge_id 8000.8:0:27:5a:86:5c designated_root 8000.8:0:27:26:29:ce root_port 1 <...>[root@second ~]# bridge link3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state blocking priority 32 cost 5 [root@second ~]#
bridge_id. У зависимого коммутатора при этом меняются значения designated_root и root_port.
Примечание
[root@second ~]# ip link set dev br0 type bridge priority 4096[root@second ~]# ip -d link show br0 | grep prioritybridge <...> priority 4096 <...> bridge_id 1000.8:0:27:5a:86:5c designated_root 1000.8:0:27:5a:86:5c root_port 0 <...>[root@second ~]# bridge link3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state listening priority 32 cost 5 <Some time later>[root@second ~]# bridge link3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5
<Some time later>[root@first ~]# ip -d link show br0 | grep prioritybridge <...> priority 32768 <...> bridge_id 8000.8:0:27:26:29:ce designated_root 1000.8:0:27:5a:86:5c root_port 1 <...>[root@first ~]# bridge link3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state blocking priority 32 cost 5 [root@first ~]#
[root@second ~]# bridge link set dev eth1 priority 63[root@second ~]# bridge link3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 63 cost 5 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5 [root@second ~]#
priority у соседа.
<Some time later>[root@first ~]# ip -d link show br0 | grep prioritybridge <...> priority 32768 <...> bridge_id 8000.8:0:27:26:29:ce designated_root 1000.8:0:27:5a:86:5c root_port 2 <...>[root@first ~]# bridge link3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state blocking priority 32 cost 5 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state listening priority 32 cost 5 [root@first ~]#
[root@first ~]# bridge link set dev eth2 cost 20000[root@first ~]# bridge link3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state listening priority 32 cost 5 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state blocking priority 32 cost 20000 <Some time later>[root@first ~]# bridge link3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 5 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state blocking priority 32 cost 20000 [root@first ~]#

Важно
R1:
Adapter2 — net13
Adapter3 — net14
Adapter4 — net12
R2:
Adapter1 — intnet25
Adapter2 — deepnet25
Adapter3 — net23
Adapter4 — net12
R3:
Adapter2 — net13
Adapter3 — net23
Adapter4 — net34
R4:
Adapter2 — net45
Adapter3 — net14
Adapter4 — net34
R5:
Adapter2 — net45
Adapter3 — deepnet25
Adapter4 — intnet25
Таблица 7.1. Варианты заданий
|
Вариант
|
Задание
|
|---|---|
|
1
|
Настроить устройства (см. топологию) так, чтобы корневым коммутатором было устройство R1, а корневым портом на R5 был eth1
|
|
2
|
Настроить устройства (см. топологию) так, чтобы корневым коммутатором было устройство R2, а корневым портом на R4 был eth3
|
|
3
|
Настроить устройства (см. топологию) так, чтобы корневым коммутатором было устройство R3, а корневым портом на R5 был eth2
|
|
4
|
Настроить устройства (см. топологию) так, чтобы корневым коммутатором было устройство R4, а корневым портом на R1 был eth3
|
|
5
|
Настроить устройства (см. топологию) так, чтобы корневым коммутатором было устройство R5, а корневым портом на R3 был eth1
|
report 7 r1
ip link show.
ip -d link show <название bridge-интерфейса>.
bridge link.
report 7 r2
ip link show.
ip -d link show <название bridge-интерфейса>.
bridge link.
report 7 r3
ip link show.
ip -d link show <название bridge-интерфейса>.
bridge link.
report 7 r4
ip link show.
ip -d link show <название bridge-интерфейса>.
bridge link.
report 7 r5
ip link show.
ip -d link show <название bridge-интерфейса>.
bridge link.
report.07.r1, report.07.r2, report.07.r3, report.07.r4, report.07.r5 через последовательный порт перенести из виртуальной машины и прислать их преподавателю с подписью выполненного варианта.

R1:
Adapter2 — net12
Adapter3 — net31
R2:
Adapter2 — net23
Adapter3 — net12
R3:
Adapter2 — net31
Adapter3 — net23
[root@R1 ~]# ip link set eth1 up[root@R1 ~]# ip link set eth2 up[root@R1 ~]# ip link set lo up[root@R1 ~]#
[root@R2 ~]# ip link set eth1 up[root@R2 ~]# ip link set eth2 up[root@R2 ~]# ip link set lo up[root@R2 ~]#
[root@R3 ~]# ip link set eth1 up[root@R3 ~]# ip link set eth2 up[root@R3 ~]# ip link set lo up[root@R3 ~]#
[root@R1 ~]# ip addr add dev eth1 10.0.12.1/24[root@R1 ~]# ip addr add dev eth2 10.0.31.1/24[root@R1 ~]# ip addr add dev lo 10.0.1.1/24[root@R1 ~]#
[root@R2 ~]# ip addr add dev eth1 10.0.23.2/24[root@R2 ~]# ip addr add dev eth2 10.0.12.2/24[root@R2 ~]# ip addr add dev lo 10.0.2.2/24[root@R2 ~]#
[root@R3 ~]# ip addr add dev eth1 10.0.31.3/24[root@R3 ~]# ip addr add dev eth2 10.0.23.3/24[root@R3 ~]# ip addr add dev lo 10.0.3.3/24[root@R3 ~]#
[root@R1 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
inet 10.0.1.1/24 scope global lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:a1:1d:0b brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname enx080027a11d0b
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:15:a8:2d brd ff:ff:ff:ff:ff:ff
altname enp0s8
altname enx08002715a82d
inet 10.0.12.1/24 scope global eth1
valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:18:1f:bc brd ff:ff:ff:ff:ff:ff
altname enp0s9
altname enx080027181fbc
inet 10.0.31.1/24 scope global eth2
valid_lft forever preferred_lft forever
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:3c:0a:dd brd ff:ff:ff:ff:ff:ff
altname enp0s10
altname enx0800273c0add
[root@R1 ~]#
[root@R2 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
inet 10.0.2.2/24 scope global lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:a8:1c:34 brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname enx080027a81c34
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:49:d4:10 brd ff:ff:ff:ff:ff:ff
altname enp0s8
altname enx08002749d410
inet 10.0.23.2/24 scope global eth1
valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:45:07:41 brd ff:ff:ff:ff:ff:ff
altname enp0s9
altname enx080027450741
inet 10.0.12.2/24 scope global eth2
valid_lft forever preferred_lft forever
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:49:02:f3 brd ff:ff:ff:ff:ff:ff
altname enp0s10
altname enx0800274902f3
[root@R2 ~]#
[root@R3 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
inet 10.0.3.3/24 scope global lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:71:25:a4 brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname enx0800277125a4
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:21:3d:8f brd ff:ff:ff:ff:ff:ff
altname enp0s8
altname enx080027213d8f
inet 10.0.31.3/24 scope global eth1
valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:cc:73:52 brd ff:ff:ff:ff:ff:ff
altname enp0s9
altname enx080027cc7352
inet 10.0.23.3/24 scope global eth2
valid_lft forever preferred_lft forever
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 08:00:27:90:28:d9 brd ff:ff:ff:ff:ff:ff
altname enp0s10
altname enx0800279028d9
[root@`R3` ~]#
Примечание
ping -c3 <dstIP> продемонстрируйте возможность передачи пакетов между абонентами одной сети и недостижимость (Network is unreachable) других сетей
[root@R1 ~]# ping -c3 10.0.12.2PING 10.0.12.2 (10.0.12.2) 56(84) bytes of data. 64 bytes from 10.0.12.2: icmp_seq=1 ttl=64 time=0.347 ms 64 bytes from 10.0.12.2: icmp_seq=2 ttl=64 time=0.307 ms 64 bytes from 10.0.12.2: icmp_seq=3 ttl=64 time=0.410 ms --- 10.0.12.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2081ms rtt min/avg/max/mdev = 0.307/0.354/0.410/0.042 ms[root@R1 ~]# ping -c3 10.0.31.3PING 10.0.31.3 (10.0.31.3) 56(84) bytes of data. 64 bytes from 10.0.31.3: icmp_seq=1 ttl=64 time=0.377 ms 64 bytes from 10.0.31.3: icmp_seq=2 ttl=64 time=0.461 ms 64 bytes from 10.0.31.3: icmp_seq=3 ttl=64 time=0.376 ms --- 10.0.31.3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2088ms rtt min/avg/max/mdev = 0.376/0.404/0.461/0.039 ms[root@R1 ~]# ping -c3 10.0.3.3ping: connect: Network is unreachable[root@R1 ~]# ping -c3 10.0.23.3ping: connect: Network is unreachable [root@R1 ~]#
10.0.23.0/24 через маршрутизатор R3
[root@R1 ~]# ip route add 10.0.23.0/24 via 10.0.31.3
[root@R1 ~]#
ping -c3 <dstIP> с R1 проверьте доступность обоих абонентов сети 10.0.23.0/24
[root@R1 ~]# ping -c3 10.0.23.3PING 10.0.23.3 (10.0.23.3) 56(84) bytes of data. 64 bytes from 10.0.23.3: icmp_seq=1 ttl=64 time=0.399 ms 64 bytes from 10.0.23.3: icmp_seq=2 ttl=64 time=0.425 ms 64 bytes from 10.0.23.3: icmp_seq=3 ttl=64 time=0.271 ms --- 10.0.23.3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2073ms rtt min/avg/max/mdev = 0.271/0.365/0.425/0.067 ms[root@R1 ~]# ping -c3 10.0.23.2PING 10.0.23.2 (10.0.23.2) 56(84) bytes of data. --- 10.0.23.2 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2065ms [root@R1 ~]#
net.ipv4.conf.all.forwarding.
sysctl <*parameters> выведите текущее значение IP‑Forwarding флага, после чего установите его.
[root@R3 ~]# sysctl net.ipv4.conf.all.forwardingnet.ipv4.conf.all.forwarding = 0[root@R3 ~]# sysctl net.ipv4.conf.all.forwarding=1[root@R3 ~]#
Примечание
R1:10.0.31.1 на R2:10.0.23.2, и, поскольку исходящий IP для R2 лежит в неизвестной сети, ответ передаться не сможет.
[root@R1 ~]# ping -c3 10.0.23.2
PING 10.0.23.2 (10.0.23.2) 56(84) bytes of data.
--- 10.0.23.2 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2059ms
[root@R1 ~]#
10.0.31.0/24 через маршрутизатор R1
[root@R2 ~]# ip route add 10.0.31.0/24 via 10.0.12.1
[root@R2 ~]#
ping -c3 <dstIP> на R1 проверьте доступность R2 из сети 10.0.23.0/24
[root@R1 ~]# ping -c3 10.0.23.2
PING 10.0.23.2 (10.0.23.2) 56(84) bytes of data.
64 bytes from 10.0.23.2: icmp_seq=1 ttl=64 time=0.509 ms
64 bytes from 10.0.23.2: icmp_seq=2 ttl=64 time=0.563 ms
64 bytes from 10.0.23.2: icmp_seq=3 ttl=64 time=0.515 ms
--- 10.0.23.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2063ms
rtt min/avg/max/mdev = 0.509/0.529/0.563/0.024 ms
[root@R1 ~]#
Примечание
R1 идёт по сетям 10.0.31.0 и 10.0.23.0, а ICMP‑Reply от R2 идёт через 10.0.12.0.
[root@R3 ~]# tcpdump -xx -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
[root@R2 ~]# tcpdump -xx -i eth2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), snapshot length 262144 bytes
ping -c3 <dstIP> отправьте три ICMP‑пакета с R1 на R2 в сеть 10.0.23.0/24
[root@R1 ~]# ping -c3 10.0.23.2
PING 10.0.23.2 (10.0.23.2) 56(84) bytes of data.
64 bytes from 10.0.23.2: icmp_seq=1 ttl=64 time=0.647 ms
64 bytes from 10.0.23.2: icmp_seq=2 ttl=64 time=0.600 ms
64 bytes from 10.0.23.2: icmp_seq=3 ttl=64 time=0.593 ms
--- 10.0.23.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2033ms
rtt min/avg/max/mdev = 0.593/0.613/0.647/0.023 ms
[root@R1 ~]#
Примечание
[root@R3 ~]# tcpdump -xx -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
15:03:11.208377 IP 10.0.31.1 > 10.0.23.2: ICMP echo request, id 20, seq 1, length 64
0x0000: 0800 2721 3d8f 0800 2718 1fbc 0800 4500
0x0010: 0054 98d3 4000 4001 57d3 0a00 1f01 0a00
0x0020: 1702 0800 4263 0014 0001 ae13 d068 0000
0x0030: 0000 6b38 0d00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
15:03:12.216848 IP 10.0.31.1 > 10.0.23.2: ICMP echo request, id 20, seq 2, length 64
0x0000: 0800 2721 3d8f 0800 2718 1fbc 0800 4500
0x0010: 0054 9c52 4000 4001 5454 0a00 1f01 0a00
0x0020: 1702 0800 743f 0014 0002 af13 d068 0000
0x0030: 0000 385b 0d00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
15:03:13.240997 IP 10.0.31.1 > 10.0.23.2: ICMP echo request, id 20, seq 3, length 64
0x0000: 0800 2721 3d8f 0800 2718 1fbc 0800 4500
0x0010: 0054 9f28 4000 4001 517e 0a00 1f01 0a00
0x0020: 1702 0800 d0e0 0014 0003 b013 d068 0000
0x0030: 0000 dab8 0d00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
[root@R2 ~]# tcpdump -xx -i eth2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), snapshot length 262144 bytes
15:03:11.713981 IP R2 > 10.0.31.1: ICMP echo reply, id 20, seq 1, length 64
0x0000: 0800 2715 a82d 0800 2745 0741 0800 4500
0x0010: 0054 0c14 0000 4001 2493 0a00 1702 0a00
0x0020: 1f01 0000 4a63 0014 0001 ae13 d068 0000
0x0030: 0000 6b38 0d00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
15:03:12.722582 IP R2 > 10.0.31.1: ICMP echo reply, id 20, seq 2, length 64
0x0000: 0800 2715 a82d 0800 2745 0741 0800 4500
0x0010: 0054 0eff 0000 4001 21a8 0a00 1702 0a00
0x0020: 1f01 0000 7c3f 0014 0002 af13 d068 0000
0x0030: 0000 385b 0d00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
15:03:13.746411 IP `R2` > 10.0.31.1: ICMP echo reply, id 20, seq 3, length 64
0x0000: 0800 2715 a82d 0800 2745 0741 0800 4500
0x0010: 0054 0fb4 0000 4001 20f3 0a00 1702 0a00
0x0020: 1f01 0000 d8e0 0014 0003 b013 d068 0000
0x0030: 0000 dab8 0d00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
[root@R1 ~]# sysctl net.ipv4.conf.all.forwarding=1
[root@R1 ~]#
[root@R2 ~]# sysctl net.ipv4.conf.all.forwarding=1
[root@R1 ~]#
[root@R3 ~]# ip route add 10.0.12.0/24 via 10.0.23.2
[root@R3 ~]#
ping -c3 <dstIP> отправьте три ICMP‑пакета с R3 на R1 в сеть 10.0.12.0/24
[root@R3 ~]# ping -c3 10.0.12.1
PING 10.0.12.1 (10.0.12.1) 56(84) bytes of data.
64 bytes from 10.0.12.1: icmp_seq=1 ttl=64 time=0.618 ms
64 bytes from 10.0.12.1: icmp_seq=2 ttl=64 time=1.01 ms
64 bytes from 10.0.12.1: icmp_seq=3 ttl=64 time=0.753 ms
--- 10.0.12.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2039ms
rtt min/avg/max/mdev = 0.618/0.795/1.014/0.164 ms
[root@R3 ~]#
ping -c3 <dstIP> попробуйте отправить три ICMP‑пакета с R1 на R3 в сеть 10.0.3.0/24
[root@R1 ~]# ping -c3 10.0.3.3
ping: connect: Network is unreachable
[root@R1 ~]#
0.0.0.0/0 с нулевой маской, по этому маршруту будут оправляться пакеты только при отсутствии любых других доступных по таблице маршрутов.
10.0.12.0/24
[root@R1 ~]# ip route add default via 10.0.12.2
[root@R1 ~]#
10.0.23.0/24
[root@R2 ~]# ip route add default via 10.0.23.3
[root@R2 ~]#
Примечание
[root@R2 ~]# tcpdump -xx -i eth2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), snapshot length 262144 bytes
ping -c3 <dstIP> попробуйте отправить три ICMP‑пакета с R1 на R3 в сеть 10.0.3.0/24
[root@R1 ~]# ping -c3 10.0.3.3
PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data.
64 bytes from 10.0.3.3: icmp_seq=1 ttl=63 time=1.07 ms
64 bytes from 10.0.3.3: icmp_seq=2 ttl=63 time=1.07 ms
64 bytes from 10.0.3.3: icmp_seq=3 ttl=63 time=0.637 ms
--- 10.0.3.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.637/0.925/1.069/0.203 ms
[root@R1 ~]#
[root@R2 ~]# tcpdump -xx -i eth2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), snapshot length 262144 bytes
15:14:40.511636 IP 10.0.12.1 > 10.0.3.3: ICMP echo request, id 22, seq 1, length 64
0x0000: 0800 2745 0741 0800 2715 a82d 0800 4500
0x0010: 0054 ef1e 4000 4001 2887 0a00 0c01 0a00
0x0020: 0303 0800 5774 0016 0001 5f16 d068 0000
0x0030: 0000 a822 0a00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
15:14:40.512008 IP 10.0.3.3 > 10.0.12.1: ICMP echo reply, id 22, seq 1, length 64
0x0000: 0800 2715 a82d 0800 2745 0741 0800 4500
0x0010: 0054 c6ce 0000 3f01 91d7 0a00 0303 0a00
0x0020: 0c01 0000 5f74 0016 0001 5f16 d068 0000
0x0030: 0000 a822 0a00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
15:14:41.511935 IP 10.0.12.1 > 10.0.3.3: ICMP echo request, id 22, seq 2, length 64
0x0000: 0800 2745 0741 0800 2715 a82d 0800 4500
0x0010: 0054 f081 4000 4001 2724 0a00 0c01 0a00
0x0020: 0303 0800 346f 0016 0002 6016 d068 0000
0x0030: 0000 ca26 0a00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
15:14:41.512459 IP 10.0.3.3 > 10.0.12.1: ICMP echo reply, id 22, seq 2, length 64
0x0000: 0800 2715 a82d 0800 2745 0741 0800 4500
0x0010: 0054 c7d3 0000 3f01 90d2 0a00 0303 0a00
0x0020: 0c01 0000 3c6f 0016 0002 6016 d068 0000
0x0030: 0000 ca26 0a00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
15:14:42.513129 IP 10.0.12.1 > 10.0.3.3: ICMP echo request, id 22, seq 3, length 64
0x0000: 0800 2745 0741 0800 2715 a82d 0800 4500
0x0010: 0054 f22e 4000 4001 2577 0a00 0c01 0a00
0x0020: 0303 0800 476a 0016 0003 6116 d068 0000
0x0030: 0000 b62a 0a00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
15:14:42.513792 IP 10.0.3.3 > 10.0.12.1: ICMP echo reply, id 22, seq 3, length 64
0x0000: 0800 2715 a82d 0800 2745 0741 0800 4500
0x0010: 0054 cacf 0000 3f01 8dd6 0a00 0303 0a00
0x0020: 0c01 0000 4f6a 0016 0003 6116 d068 0000
0x0030: 0000 b62a 0a00 0000 0000 1011 1213 1415
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435
0x0060: 3637
10.0.31.0/24
[root@R3 ~]# ip route add default via 10.0.31.1
[root@R3 ~]#
ping -c3 <dstIP> попробуйте отправить три ICMP‑пакета с R3 на R2 в сеть 10.0.2.0/24
[root@R3 ~]# ping -c3 10.0.2.2
PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
64 bytes from 10.0.2.2: icmp_seq=1 ttl=63 time=0.716 ms
64 bytes from 10.0.2.2: icmp_seq=2 ttl=63 time=1.60 ms
64 bytes from 10.0.2.2: icmp_seq=3 ttl=63 time=0.588 ms
--- 10.0.2.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2065ms
rtt min/avg/max/mdev = 0.588/0.969/1.604/0.451 ms
[root@R3 ~]#
traceroute, которая последовательно отправляет пакеты с увеличивающимся TTL и по сигналам о сбрасывании пакета на участках сети строит маршрут пакета в сети.
Предупреждение
traceroute будет отвечать реальному маршруту пакета в сети.
10.0.23.0/24
[root@R1 ~]# ping -c3 10.0.23.2PING 10.0.23.2 (10.0.23.2) 56(84) bytes of data. 64 bytes from 10.0.23.2: icmp_seq=1 ttl=64 time=1.47 ms 64 bytes from 10.0.23.2: icmp_seq=2 ttl=64 time=0.830 ms 64 bytes from 10.0.23.2: icmp_seq=3 ttl=64 time=0.643 ms --- 10.0.23.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.643/0.980/1.468/0.353 ms[root@R1 ~]# traceroute 10.0.23.2traceroute to 10.0.23.2 (10.0.23.2), 30 hops max, 60 byte packets 1 10.0.31.3 (10.0.31.3) 0.471 ms 0.697 ms 0.671 ms 2 10.0.23.2 (10.0.23.2) 0.746 ms 0.730 ms 0.742 ms [root@R1 ~]#
10.0.1.0/24 и R3 сети 10.0.3.0/24
[root@R1 ~]# ping -c3 -I 10.0.1.1 10.0.3.3PING 10.0.3.3 (10.0.3.3) from 10.0.1.1 : 56(84) bytes of data. 64 bytes from 10.0.3.3: icmp_seq=1 ttl=64 time=1.10 ms 64 bytes from 10.0.3.3: icmp_seq=2 ttl=64 time=0.620 ms 64 bytes from 10.0.3.3: icmp_seq=3 ttl=64 time=0.768 ms --- 10.0.3.3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2020ms rtt min/avg/max/mdev = 0.620/0.828/1.098/0.199 ms[root@R1 ~]# traceroute -s 10.0.1.1 10.0.3.3traceroute to 10.0.3.3 (10.0.3.3), 30 hops max, 60 byte packets 1 10.0.23.2 (10.0.23.2) 1.340 ms 1.283 ms 1.344 ms 2 10.0.3.3 (10.0.3.3) 1.226 ms 1.296 ms 1.274 ms [root@R1 ~]#
[root@R1 ~]# ip route list
default via 10.0.12.2 dev eth1
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.1
10.0.23.0/24 via 10.0.31.3 dev eth2
10.0.31.0/24 dev eth2 proto kernel scope link src 10.0.31.1
[root@R1 ~]#
[root@R2 ~]# ip route list
default via 10.0.23.3 dev eth1
10.0.12.0/24 dev eth2 proto kernel scope link src 10.0.12.2
10.0.23.0/24 dev eth1 proto kernel scope link src 10.0.23.2
10.0.31.0/24 via 10.0.12.1 dev eth2
[root@R2 ~]#
[root@R3 ~]# ip route list
default via 10.0.31.1 dev eth1
10.0.12.0/24 via 10.0.23.2 dev eth2
10.0.23.0/24 dev eth2 proto kernel scope link src 10.0.23.3
10.0.31.0/24 dev eth1 proto kernel scope link src 10.0.31.3
[root@R3 ~]#

R1:
Adapter2 — net111
Adapter3 — net30
Adapter4 — net50
R2:
Adapter2 — net30
Adapter3 — net40
R3:
Adapter2 — net222
Adapter3 — net40
Adapter4 — net50
PC1:
Adapter2 — net111
PC2:
Adapter2 — net222
Таблица 8.1. Варианты заданий
|
Вариант
|
Задание
|
|---|---|
|
1
|
|
|
2
|
|
|
3
|
|
|
4
|
|
|
5
|
|
|
6
|
|
|
7
|
|
|
8
|
|
|
9
|
|
|
10
|
|
report 8 pc1
ip a show eth1.
ip route.
ping -fc3 10.0.50.1.
ping -fc3 10.0.30.2.
ping -fc3 10.0.40.3.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.40.2.
report 8 pc2
ip a show eth1.
ip route.
ping -fc3 10.0.50.1.
ping -fc3 10.0.30.2.
ping -fc3 10.0.40.3.
ping -fc3 10.0.111.11.
traceroute 10.0.111.11.
traceroute 10.0.40.2.
report 8 r1
ip a show.
ip route.
ping -fc3 10.0.30.2.
ping -fc3 10.0.40.3.
ping -fc3 10.0.111.11.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.111.11.
report 8 r2
ip a show.
ip route.
ping -fc3 10.0.50.1.
ping -fc3 10.0.40.3.
ping -fc3 10.0.111.11.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.111.11.
report 8 r3
ip a show.
ip route.
ping -fc3 10.0.30.2.
ping -fc3 10.0.50.1.
ping -fc3 10.0.111.11.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.111.11.
report.08.pc1, report.08.pc2, report.08.r1, report.08.r2, report.08.r3 через последовательный порт перенести из виртуальной машины и прислать их преподавателю с подписью выполненного варианта.

R1:
Adapter2 — intnet
R2:
Adapter2 — intnet
Adapter3 — deepnet
R3:
Adapter2 — deepnet
[root@R1 ~]# ip link set eth1 up[root@R1 ~]# ip link add dev lo0 type veth[root@R1 ~]# ip link set lo0 up[root@R1 ~]#
[root@R2 ~]# ip link set eth1 up[root@R2 ~]# ip link set eth2 up[root@R2 ~]# ip link add dev lo0 type veth[root@R2 ~]# ip link set lo0 up
[root@R3 ~]# ip link set eth1 up[root@R3 ~]# ip link add dev lo0 type veth[root@R3 ~]# ip link set lo up[root@R3 ~]#
[root@R1 ~]# ip addr add dev eth1 10.0.12.1/24[root@R1 ~]# ip addr add dev lo0 10.0.1.1/24[root@R1 ~]#
[root@R2 ~]# ip addr add dev eth1 10.0.12.2/24[root@R2 ~]# ip addr add dev eth2 10.0.23.2/24[root@R2 ~]# ip addr add dev lo0 10.0.2.2/24[root@R2 ~]# sysctl net.ipv4.conf.all.forwarding=1[root@R2 ~]#
[root@R3 ~]# ip addr add dev eth1 10.0.23.3/24[root@R3 ~]# ip addr add dev lo 10.0.3.3/24[root@R3 ~]#
[root@R1 ~]# ip route
10.0.1.0/24 dev lo0 proto kernel scope link src 10.0.1.1 linkdown
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.1
[root@R1 ~]#
[root@R2 ~]# ip route
10.0.2.0/24 dev lo0 proto kernel scope link src 10.0.2.2 linkdown
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2
10.0.23.0/24 dev eth2 proto kernel scope link src 10.0.23.2
[root@R2 ~]#
[root@R3 ~]# ip route
10.0.3.0/24 dev lo0 proto kernel scope link src 10.0.3.3 linkdown
10.0.23.0/24 dev eth1 proto kernel scope link src 10.0.23.3
[root@R3 ~]#
/etc/bird/bird.conf специального вида.
@R1:/etc/bird/bird.conf
router id 10.0.1.1;
protocol kernel {
learn all;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol rip {
interface "eth1", "lo0";
ipv4 {
import all;
export where (net = 10.0.1.0/24) || (net = 10.0.12.0/24);
};
}
protocol kernel — она описывает действия, связанные с таблицами маршрутизации ядра системы. Необходимо указать сохранение получаемых данных в таблицах маршрутизации устройства (а не просто передачу этих данных), а также частоту обновления таблиц получаемыми данными;
protocol device — она описывает действия самого сетевого устройства. Необходимо указать периодичность сканирования портов на наличие BIRD‑данных от других устройств;
protocol rip — она описывает действия, связанные с маршрутизацией с помощью протокола:
@R2:/etc/bird/bird.conf
router id 10.0.2.2;
protocol kernel {
learn all;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol rip {
interface "eth*";
ipv4 {
import where net != 10.0.1.0/24;
export all;
};
}
@R3:/etc/bird/bird.conf
router id 10.0.3.3;
protocol kernel {
learn all;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol rip {
interface "*";
ipv4 {
import all;
export all;
};
}
R2 не будет принимать данные, связанные с сетью 10.0.1.0/24, и, соответственно, не будет отправлять их далее по топологии.
bird запустите BIRD на каждом из устройств.
birdc можно посмотреть параметры работы демона.
birdc show route посмотрите таблицу RIP‑маршрутов, передаваемых BIRD.
[root@R1 ~]# bird[root@R1 ~]# birdc show routeBIRD +detached. ready. Table master4: 10.0.1.0/24 unicast [kernel1 12:25:54.420] * (10) dev lo0 10.0.12.0/24 unicast [kernel1 12:25:54.420] * (10) dev eth1 10.0.23.0/24 unicast [rip1 12:26:00.124] * (120/2) via 10.0.12.2 on eth1 10.0.2.0/24 unicast [rip1 12:26:00.124] * (120/2) via 10.0.12.2 on eth1 10.0.3.0/24 unicast [rip1 12:26:02.896] * (120/3) via 10.0.12.2 on eth1 [root@R1 ~]#
proto bird, означающим, что маршрут получен с помощью BIRD‑демона (поскольку маршруты не приходят мгновенно, может потребоваться время на получение всех данных).
[root@R1 ~]# ip route
10.0.1.0/24 dev lo0 proto kernel scope link src 10.0.1.1 linkdown
10.0.2.0/24 via 10.0.12.2 dev eth1 proto bird metric 32
10.0.3.0/24 via 10.0.12.2 dev eth1 proto bird metric 32
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.1
10.0.23.0/24 via 10.0.12.2 dev eth1 proto bird metric 32
[root@R1 ~]#
[root@R2 ~]# ip route
10.0.2.0/24 dev lo0 proto kernel scope link src 10.0.2.2 linkdown
10.0.3.0/24 via 10.0.23.3 dev eth2 proto bird metric 32
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2
10.0.12.0/24 via 10.0.12.1 dev eth1 proto bird metric 32
10.0.23.0/24 dev eth2 proto kernel scope link src 10.0.23.2
[root@R2 ~]#
[root@R3 ~]# ip route
10.0.2.0/24 via 10.0.23.2 dev eth1 proto bird metric 32
10.0.3.0/24 dev lo0 proto kernel scope link src 10.0.3.3 linkdown
10.0.12.0/24 via 10.0.23.2 dev eth1 proto bird metric 32
10.0.23.0/24 dev eth1 proto kernel scope link src 10.0.23.3
10.0.23.0/24 via 10.0.23.2 dev eth1 proto bird metric 32
[root@R3 ~]#
10.0.1.0/24 не передалась на R2 и R3, поскольку не была указана как допустимая к передаче.
ping -c3 <dstIP> проверьте достижимость отдельных сетей с разных устройств.
[root@R1 ~]# ping -c3 10.0.23.3PING 10.0.23.3 (10.0.23.3) 56(84) bytes of data. 64 bytes from 10.0.23.3: icmp_seq=1 ttl=63 time=1.00 ms 64 bytes from 10.0.23.3: icmp_seq=2 ttl=63 time=0.872 ms 64 bytes from 10.0.23.3: icmp_seq=3 ttl=63 time=0.854 ms --- 10.0.23.3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 0.854/0.908/1.000/0.065 ms[root@R1 ~]# ping -c3 10.0.3.3PING 10.0.3.3 (10.0.3.3) 56(84) bytes of data. 64 bytes from 10.0.3.3: icmp_seq=1 ttl=63 time=0.903 ms 64 bytes from 10.0.3.3: icmp_seq=2 ttl=63 time=0.838 ms 64 bytes from 10.0.3.3: icmp_seq=3 ttl=63 time=0.990 ms --- 10.0.3.3 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2055ms rtt min/avg/max/mdev = 0.838/0.910/0.990/0.062 ms [root@R1 ~]#
[root@R3 ~]# ping -c3 10.0.1.1ping: connect: Network is unreachable[root@R3 ~]# ping -c3 10.0.2.2PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data. 64 bytes from 10.0.2.2: icmp_seq=1 ttl=64 time=0.591 ms 64 bytes from 10.0.2.2: icmp_seq=2 ttl=64 time=0.448 ms 64 bytes from 10.0.2.2: icmp_seq=3 ttl=64 time=0.567 ms --- 10.0.2.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2060ms rtt min/avg/max/mdev = 0.448/0.535/0.591/0.062 ms [root@R3 ~]#

R1:
Adapter2 — net111
Adapter3 — net30
Adapter4 — net50
R2:
Adapter2 — net30
Adapter3 — net40
R3:
Adapter2 — net222
Adapter3 — net40
Adapter4 — net50
PC1:
Adapter2 — net111
PC2:
Adapter2 — net222
Таблица 9.1. Варианты заданий
|
Вариант
|
Задание
|
|---|---|
|
1
|
|
|
2
|
|
|
3
|
|
|
4
|
|
|
5
|
|
|
6
|
|
|
7
|
|
|
8
|
|
|
9
|
|
|
10
|
|
report 9 pc1
ip a show eth1.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.0.50.1.
ping -fc3 10.0.30.2.
ping -fc3 10.0.40.3.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.40.2.
report 9 pc2
ip a show eth1.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.0.50.1.
ping -fc3 10.0.30.2.
ping -fc3 10.0.40.3.
ping -fc3 10.0.111.11.
traceroute 10.0.111.11.
traceroute 10.0.40.2.
report 9 r1
ip a show.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.0.30.2.
ping -fc3 10.0.40.3.
ping -fc3 10.0.111.11.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.111.11.
report 9 r2
ip a show.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.0.50.1.
ping -fc3 10.0.40.3.
ping -fc3 10.0.111.11.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.111.11.
report 9 r3
ip a show.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.0.30.2.
ping -fc3 10.0.50.1.
ping -fc3 10.0.111.11.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.111.11.
report.09.pc1, report.09.pc2, report.09.r1, report.09.r2, report.09.r3 через последовательный порт перенести из виртуальной машины и прислать их преподавателю с подписью выполненного варианта.

R1:
Adapter2 — intnet
Adapter3 — deepnet
R2:
Adapter2 — intnet
R3:
Adapter2 — deepnet
[root@R1 ~]# ip link set eth1 up[root@R1 ~]# ip link set eth2 up[root@R1 ~]# ip link add dev lo0 type veth[root@R1 ~]# ip link set lo0 up[root@R1 ~]#
[root@R2 ~]# ip link set eth1 up[root@R2 ~]# ip link add dev lo0 type veth[root@R2 ~]# ip link set lo0 up[root@R2 ~]#
[root@R3 ~]# ip link set eth1 up[root@R3 ~]# ip link add dev lo0 type veth[root@R3 ~]# ip link add dev lo2 type veth[root@R3 ~]# ip link set lo0 up[root@R3 ~]# ip link set lo2 up[root@R3 ~]#
[root@R1 ~]# ip addr add dev eth1 10.0.12.1/24[root@R1 ~]# ip addr add dev eth2 10.0.13.1/24[root@R1 ~]# ip addr add dev lo0 10.0.1.1/24[root@R1 ~]#[root@R1 ~]# sysctl net.ipv4.conf.all.forwarding=1[root@R1 ~]#
[root@R2 ~]# ip addr add dev eth1 10.0.12.2/24[root@R2 ~]# ip addr add dev lo0 10.0.2.2/24[root@R2 ~]#
[root@R3 ~]# ip addr add dev eth1 10.0.13.3/24[root@R3 ~]# ip addr add dev lo0 10.0.3.3/24[root@R3 ~]# ip addr add dev lo2 172.16.0.1/24[root@R3 ~]#
[root@R1 ~]# ip route
10.0.1.0/24 dev lo0 proto kernel scope link src 10.0.1.1 linkdown
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.1
10.0.13.0/24 dev eth2 proto kernel scope link src 10.0.13.1
[root@R2 ~]# ip route
10.0.2.0/24 dev lo0 proto kernel scope link src 10.0.2.2 linkdown
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2
[root@R3 ~]# ip route
10.0.3.0/24 dev lo0 proto kernel scope link src 10.0.3.3 linkdown
10.0.13.0/24 dev eth1 proto kernel scope link src 10.0.13.3
172.16.0.0/24 dev lo2 proto kernel scope link src 172.16.0.1 linkdown
/etc/bird/bird.conf специального вида.
@R1:/etc/bird/bird.conf
router id 10.0.1.1;
protocol kernel {
scan time 20;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol ospf SIMPLE {
ipv4 { export all; };
area 0.0.0.0 {
interface "eth1" {
};
interface "eth2" {
};
interface "lo0" {
};
};
}
protocol kernel — она описывает действия, связанные с таблицами маршрутизации ядра системы;
protocol device — она описывает действия самого сетевого устройства;
protocol ospf — она описывает действия, связанные с маршрутизацией с помощью протокола:
@R2:/etc/bird/bird.conf
router id 10.0.2.2;
protocol kernel {
scan time 20;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol ospf SIMPLE {
ipv4 { export all; };
area 0.0.0.0 {
interface "eth1" {
};
interface "lo0" {
};
};
}
@R3:/etc/bird/bird.conf
router id 10.0.3.3;
protocol kernel {
scan time 20;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol ospf SIMPLE {
ipv4 { export all; };
area 0.0.0.0 {
interface "eth1" {
};
interface "eth2" {
};
interface "lo0" {
};
interface "lo2" {
};
};
}
bird запустите BIRD на каждом из устройств.
birdc можно посмотреть параметры работы демона.
birdc show route посмотрите список OSPF‑данных, передаваемых BIRD.
[root@R1 ~]# bird[root@R1 ~]# birdcBIRD +detached. ready. bird> show route Table master4: 10.0.12.0/24 unicast [SIMPLE 01:41:40.630] * I (150/10) [10.0.1.1] dev eth1 10.0.13.0/24 unicast [SIMPLE 01:41:40.631] * I (150/10) [10.0.1.1] dev eth2 10.0.1.1/32 unicast [SIMPLE 01:41:40.631] * I (150/0) [10.0.1.1] dev lo0 bird>
proto bird, означающим, что маршрут получен с помощью BIRD‑демона (поскольку маршруты не приходят мгновенно, может потребоваться время на получение всех данных).
[root@R1 ~]# ip route
10.0.1.0/24 dev lo0 proto kernel scope link src 10.0.1.1 linkdown
10.0.1.1 dev lo0 proto bird scope link metric 32 linkdown
10.0.2.2 via 10.0.12.2 dev eth1 proto bird metric 32
10.0.3.3 via 10.0.13.3 dev eth2 proto bird metric 32
10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.1
10.0.12.0/24 dev eth1 proto bird scope link metric 32
10.0.13.0/24 dev eth2 proto kernel scope link src 10.0.13.1
10.0.13.0/24 dev eth2 proto bird scope link metric 32
172.16.0.1 via 10.0.13.3 dev eth2 proto bird metric 32
[root@R2 ~]# ip route10.0.2.0/24 dev lo0 proto kernel scope link src 10.0.2.2 linkdown 10.0.2.2 dev lo0 proto bird scope link metric 32 linkdown 10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2 10.0.12.0/24 dev eth1 proto bird scope link metric 32 <Some time later>[root@R2 ~]# ip route10.0.1.1 via 10.0.12.1 dev eth1 proto bird metric 32 10.0.2.0/24 dev lo0 proto kernel scope link src 10.0.2.2 linkdown 10.0.2.2 dev lo0 proto bird scope link metric 32 linkdown 10.0.3.3 via 10.0.12.1 dev eth1 proto bird metric 32 10.0.12.0/24 dev eth1 proto kernel scope link src 10.0.12.2 10.0.12.0/24 dev eth1 proto bird scope link metric 32 10.0.13.0/24 via 10.0.12.1 dev eth1 proto bird metric 32 172.16.0.1 via 10.0.12.1 dev eth1 proto bird metric 32
[root@R3 ~]# ip route
10.0.1.1 via 10.0.13.1 dev eth1 proto bird metric 32
10.0.2.2 via 10.0.13.1 dev eth1 proto bird metric 32
10.0.3.0/24 dev lo0 proto kernel scope link src 10.0.3.3 linkdown
10.0.3.3 dev lo0 proto bird scope link metric 32 linkdown
10.0.12.0/24 via 10.0.13.1 dev eth1 proto bird metric 32
10.0.13.0/24 dev eth1 proto kernel scope link src 10.0.13.3
10.0.13.0/24 dev eth1 proto bird scope link metric 32
172.16.0.0/24 dev lo2 proto kernel scope link src 172.16.0.1 linkdown
172.16.0.1 dev lo2 proto bird scope link metric 32 linkdown
ping -c3 <dstIP> проверьте достижимость отдельных сетей с разных устройств.
[root@R1 ~]# ping -c3 10.0.2.2
PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
64 bytes from 10.0.2.2: icmp_seq=1 ttl=64 time=0.348 ms
64 bytes from 10.0.2.2: icmp_seq=2 ttl=64 time=0.409 ms
64 bytes from 10.0.2.2: icmp_seq=3 ttl=64 time=0.392 ms
--- 10.0.2.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2024ms
rtt min/avg/max/mdev = 0.348/0.383/0.409/0.025 ms
[root@R1 ~]#
[root@R2 ~]# ping -c3 172.16.0.1
PING 172.16.0.1 (172.16.0.1) 56(84) bytes of data.
64 bytes from 172.16.0.1: icmp_seq=1 ttl=63 time=0.665 ms
64 bytes from 172.16.0.1: icmp_seq=2 ttl=63 time=0.489 ms
64 bytes from 172.16.0.1: icmp_seq=3 ttl=63 time=0.711 ms
--- 172.16.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2067ms
rtt min/avg/max/mdev = 0.489/0.621/0.711/0.095 ms
[root@R2 ~]#

R1:
Adapter2 — net111
Adapter3 — net30
Adapter4 — net50
R2:
Adapter2 — net30
Adapter3 — net40
R3:
Adapter2 — net222
Adapter3 — net40
Adapter4 — net50
PC1:
Adapter2 — net111
PC2:
Adapter2 — net222
Таблица 10.1. Варианты заданий
|
Вариант
|
Задание
|
|---|---|
|
1
|
|
|
2
|
|
|
3
|
|
|
4
|
|
|
5
|
|
|
6
|
|
|
7
|
|
|
8
|
|
|
9
|
|
|
10
|
|
report 10 pc1
ip a show eth1.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.0.50.1.
ping -fc3 10.0.30.2.
ping -fc3 10.0.40.3.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.40.2.
report 10 pc2
ip a show eth1.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.0.50.1.
ping -fc3 10.0.30.2.
ping -fc3 10.0.40.3.
ping -fc3 10.0.111.11.
traceroute 10.0.111.11.
traceroute 10.0.40.2.
report 10 r1
ip a show.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.0.30.2.
ping -fc3 10.0.40.3.
ping -fc3 10.0.111.11.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.111.11.
report 10 r2
ip a show.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.0.50.1.
ping -fc3 10.0.40.3.
ping -fc3 10.0.111.11.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.111.11.
report 10 r3
ip a show.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.0.30.2.
ping -fc3 10.0.50.1.
ping -fc3 10.0.111.11.
ping -fc3 10.0.222.22.
traceroute 10.0.222.22.
traceroute 10.0.111.11.
report.10.pc1, report.10.pc2, report.10.r1, report.10.r2, report.10.r3 через последовательный порт перенести из виртуальной машины и прислать их преподавателю с подписью выполненного варианта.

cloud:
Adapter2 — cloud1
Adapter3 — cloud2
Adapter4 — cloud3
R1:
Adapter2 — cloud1
R2:
Adapter2 — cloud2
Adapter3 — wgetnet
Adapter4 — sshnet
S1:
Adapter2 — wgetnet
S2:
Adapter2 — sshnet
[root@cloud ~]# ip link add dev br0 type bridge[root@cloud ~]# ip link set eth1 master br0[root@cloud ~]# ip link set eth2 master br0[root@cloud ~]# ip link set eth3 master br0[root@cloud ~]# for I in `ls /sys/class/net`; do ip link set $I up; done[root@cloud ~]#
[root@S1 ~]# ip link set eth1 up[root@S1 ~]# ip addr add dev eth1 10.0.4.254/24[root@S1 ~]#
[root@S2 ~]# ip link set eth1 up[root@S2 ~]# ip addr add dev eth1 10.0.6.254/24[root@S2 ~]#
[root@R1 ~]# ip link set eth1 up[root@R1 ~]# ip addr add dev eth1 10.0.13.1/24[root@R1 ~]#
[root@R2 ~]# ip link set eth1 up[root@R2 ~]# ip link set eth2 up[root@R2 ~]# ip link set eth3 up[root@R2 ~]# ip addr add dev eth1 10.0.13.2/24[root@R2 ~]# ip addr add dev eth2 10.0.4.2/24[root@R2 ~]# ip addr add dev eth3 10.0.6.2/24[root@R2 ~]# sysctl net.ipv4.conf.all.forwarding=1[root@R2 ~]#
[root@R3 ~]# ip link set eth1 up[root@R3 ~]# ip addr add dev eth1 10.0.13.3/24[root@R3 ~]#
@S1 : /etc/bird/bird.conf
router id 10.0.4.254;
protocol kernel {
scan time 20;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol ospf SIMPLE {
ipv4 { export all; };
area 0.0.0.0 {
interface "eth1" {
};
};
}
@S2 : /etc/bird/bird.conf
router id 10.0.6.254;
protocol kernel {
scan time 20;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol ospf SIMPLE {
ipv4 { export all; };
area 0.0.0.0 {
interface "eth1" {
};
};
}
@R1 : /etc/bird/bird.conf
router id 10.0.13.1;
protocol kernel {
scan time 20;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol ospf SIMPLE {
ipv4 { export all; };
area 0.0.0.0 {
interface "eth1" {
};
};
}
@R2 : /etc/bird/bird.conf
router id 10.0.13.2;
protocol kernel {
scan time 20;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol ospf SIMPLE {
ipv4 { export all; };
area 0.0.0.0 {
interface "eth1" {
};
interface "eth2" {
};
interface "eth3" {
};
};
}
@R3 : /etc/bird/bird.conf
router id 10.0.13.3;
protocol kernel {
scan time 20;
ipv4 { export all; };
}
protocol device {
scan time 10;
}
protocol ospf SIMPLE {
ipv4 { export all; };
area 0.0.0.0 {
interface "eth1" {
};
};
}
bird запустите BIRD на каждом из устройств. С помощью команд управления таблицами маршрутизации убедитесь, что данные о маршрутах успешно добавились в таблицы маршрутизации R‑абонентов.
[root@S1 ~]# bird
[root@S1 ~]#
[root@S2 ~]# bird
[root@S2 ~]#
[root@R1 ~]# bird[root@R1 ~]# ip route10.0.4.0/24 via 10.0.13.2 dev eth1 proto bird metric 32 10.0.6.0/24 via 10.0.13.2 dev eth1 proto bird metric 32 10.0.13.0/24 dev eth1 proto kernel scope link src 10.0.13.1 10.0.13.0/24 dev eth1 proto bird scope link metric 32 [root@R1 ~]#
[root@R2 ~]# bird[root@R2 ~]# ip route10.0.4.0/24 dev eth2 proto kernel scope link src 10.0.4.2 10.0.4.0/24 dev eth2 proto bird scope link metric 32 10.0.6.0/24 dev eth3 proto kernel scope link src 10.0.6.2 10.0.6.0/24 dev eth3 proto bird scope link metric 32 10.0.13.0/24 dev eth1 proto kernel scope link src 10.0.13.2 10.0.13.0/24 dev eth1 proto bird scope link metric 32 [root@R2 ~]#
[root@R3 ~]# bird[root@R1 ~]# ip route10.0.4.0/24 via 10.0.13.2 dev eth1 proto bird metric 32 10.0.6.0/24 via 10.0.13.2 dev eth1 proto bird metric 32 10.0.13.0/24 dev eth1 proto kernel scope link src 10.0.13.3 10.0.13.0/24 dev eth1 proto bird scope link metric 32 [root@R1 ~]#
[root@R1 ~]# ping -c3 10.0.4.254PING 10.0.4.254 (10.0.4.254) 56(84) bytes of data. 64 bytes from 10.0.4.254: icmp_seq=1 ttl=63 time=1.26 ms 64 bytes from 10.0.4.254: icmp_seq=3 ttl=63 time=1.20 ms --- 10.0.4.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 1.161/1.207/1.262/0.041 ms[root@R1 ~]# ping -c3 10.0.6.254PING 10.0.6.254 (10.0.6.254) 56(84) bytes of data. 64 bytes from 10.0.6.254: icmp_seq=1 ttl=63 time=1.29 ms 64 bytes from 10.0.6.254: icmp_seq=2 ttl=63 time=1.09 ms 64 bytes from 10.0.6.254: icmp_seq=3 ttl=63 time=2.05 ms --- 10.0.6.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 1.087/1.475/2.052/0.416 ms [root@R1 ~]#
[root@R3 ~]# ping -c3 10.0.4.254PING 10.0.4.254 (10.0.4.254) 56(84) bytes of data. 64 bytes from 10.0.4.254: icmp_seq=1 ttl=63 time=1.61 ms 64 bytes from 10.0.4.254: icmp_seq=2 ttl=63 time=1.76 ms 64 bytes from 10.0.4.254: icmp_seq=3 ttl=63 time=1.03 ms --- 10.0.4.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 1.027/1.467/1.763/0.317 ms[root@R3 ~]# ping -c3 10.0.6.254PING 10.0.6.254 (10.0.6.254) 56(84) bytes of data. 64 bytes from 10.0.6.254: icmp_seq=1 ttl=63 time=1.90 ms 64 bytes from 10.0.6.254: icmp_seq=2 ttl=63 time=1.07 ms 64 bytes from 10.0.6.254: icmp_seq=3 ttl=63 time=1.05 ms --- 10.0.6.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 1.046/1.340/1.903/0.398 ms [root@R3 ~]#
python3 -m http.server запустите на S‑узлах HTTP‑серверы.
[root@S1 ~]# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
[root@S2 ~]# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
wget и ssh:
wget будет выполняться HTTP‑запрос; скачивание файла означает доступ к устройству, зависание — отсутствие доступа;
ssh осуществляется подключение к устройству; подключение означает доступ к устройству, зависание — отсутствие доступа.
Примечание
ssh‑подключении может появиться запрос на разрешение подключения. Необходимо явно написать yes в ответ на вопрос в терминал.
wget <dstIP>:<dstPort> и ssh <dstIP> на R1 и R3 проверьте доступность сервисов S‑абонентов.
[root@R1 ~]# wget 10.0.4.254:8000
Prepended http:// to '10.0.4.254:8000'
--2025-10-06 19:13:42-- http://10.0.4.254:8000/
Connecting to 10.0.4.254:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1142 (1.1K) [text/html]
Saving to: 'index.html.1'
index.html.1 100%[====================================>] 1.12K --.-KB/s in 0s
2025-10-06 19:13:42 (54.2 MB/s) - 'index.html.1' saved [1142/1142]
[root@R1 ~]#
[root@R1 ~]# wget 10.0.6.254:8000
Prepended http:// to '10.0.6.254:8000'
--2025-10-06 19:13:57-- http://10.0.6.254:8000/
Connecting to 10.0.6.254:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1087 (1.1K) [text/html]
Saving to: 'index.html.2'
index.html.2 100%[====================================>] 1.06K --.-KB/s in 0s
2025-10-06 19:13:57 (33.8 MB/s) - 'index.html.2' saved [1087/1087]
[root@R1 ~]#
[root@R1 ~]# ssh 10.0.4.254
Last login: Mon Oct 6 13:42:04 2025 from 10.0.13.1
[root@S1 ~]#
<^D>logout
Connection to 10.0.4.254 closed.
[root@R1 ~]#
[root@R1 ~]# ssh 10.0.6.254
The authenticity of host '10.0.6.254 (10.0.6.254)' can't be established.
ED25519 key fingerprint is SHA256:BxaYoHAW5ddfM6EwmgSAZ2tKXCH0zoppLfEcQ8YiGdg.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:3: 10.0.4.254
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.0.6.254' (ED25519) to the list of known hosts.
Last login: Mon Oct 6 18:58:46 2025 from 10.0.13.3
[root@S2 ~]#
<^D>logout
Connection to 10.0.6.254 closed.
[root@R1 ~]#
[root@R3 ~]# wget 10.0.4.254:8000
Prepended http:// to '10.0.4.254:8000'
--2025-10-06 19:13:45-- http://10.0.4.254:8000/
Connecting to 10.0.4.254:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1142 (1.1K) [text/html]
Saving to: 'index.html'
index.html 100%[====================================>] 1.12K --.-KB/s in 0s
2025-10-06 19:13:45 (66.8 MB/s) - 'index.html' saved [1142/1142]
[root@R3 ~]#
[root@R3 ~]# wget 10.0.6.254:8000
Prepended http:// to '10.0.6.254:8000'
--2025-10-06 19:13:54-- http://10.0.6.254:8000/
Connecting to 10.0.6.254:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1087 (1.1K) [text/html]
Saving to: 'index.html.1'
index.html.1 100%[====================================>] 1.06K --.-KB/s in 0s
2025-10-06 19:13:54 (31.1 MB/s) - 'index.html.1' saved [1087/1087]
[root@R3 ~]#
[root@R3 ~]# ssh 10.0.4.254
The authenticity of host '10.0.4.254 (10.0.4.254)' can't be established.
ED25519 key fingerprint is SHA256:BxaYoHAW5ddfM6EwmgSAZ2tKXCH0zoppLfEcQ8YiGdg.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:3: 10.0.6.254
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.0.4.254' (ED25519) to the list of known hosts.
Last login: Mon Oct 6 19:14:00 2025 from 10.0.13.1
[root@S1 ~]#
<^D>logout
Connection to 10.0.4.254 closed.
[root@R3 ~]#
[root@R3 ~]# ssh 10.0.6.254
Last login: Mon Oct 6 19:14:08 2025 from 10.0.13.1
[root@S2 ~]#
<^D>logout
Connection to 10.0.6.254 closed.
[root@R3 ~]#
[root@S1 ~]# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
10.0.13.1 - - [06/Oct/2025 19:13:35] "GET / HTTP/1.1" 200 -
10.0.13.3 - - [06/Oct/2025 19:13:45] "GET / HTTP/1.1" 200 -
[root@S2 ~]# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
10.0.13.1 - - [06/Oct/2025 19:13:50] "GET / HTTP/1.1" 200 -
10.0.13.3 - - [06/Oct/2025 19:13:54] "GET / HTTP/1.1" 200 -
wget);
ssh);
ip rule выведите текущий список контроля доступа.
[root@R2 ~]# ip rule
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
[root@R2 ~]#
priority имеют приоритет над полями с большим значением. Принцип выбора срабатывания правил — сверху вниз до первого совпадения параметров.
ip rule add <*ip-rule-parameters> опишите следующие правила списка контроля доступа:
[root@R2 ~]# ip rule add from 10.0.13.1 to 10.0.4.254 dport 8000 priority 1 table main[root@R2 ~]# ip rule add blackhole from 10.0.13.1 to 10.0.4.254 priority 2[root@R2 ~]# ip rule add blackhole from 10.0.13.1 to 10.0.6.254 priority 2[root@R2 ~]# ip rule add from 10.0.13.3 to 10.0.6.254 dport 22 priority 1 table main[root@R2 ~]# ip rule add blackhole from 10.0.13.3 to 10.0.6.254 priority 2[root@R2 ~]# ip rule add blackhole from 10.0.13.3 to 10.0.4.254 priority 2[root@R2 ~]#
ip rule выведите текущий список контроля доступа.
[root@R2 ~]# ip rule
0: from all lookup local
1: from 10.0.13.1 to 10.0.4.254 dport 8000 lookup main
1: from 10.0.13.3 to 10.0.6.254 dport 22 lookup main
2: from 10.0.13.1 to 10.0.4.254 blackhole
2: from 10.0.13.1 to 10.0.6.254 blackhole
2: from 10.0.13.3 to 10.0.6.254 blackhole
2: from 10.0.13.3 to 10.0.4.254 blackhole
32766: from all lookup main
32767: from all lookup default
[root@R2 ~]#
[root@R1 ~]# ping -c3 10.0.13.2PING 10.0.13.2 (10.0.13.2) 56(84) bytes of data. 64 bytes from 10.0.13.2: icmp_seq=1 ttl=64 time=0.539 ms 64 bytes from 10.0.13.2: icmp_seq=2 ttl=64 time=0.596 ms 64 bytes from 10.0.13.2: icmp_seq=3 ttl=64 time=0.435 ms --- 10.0.13.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2079ms rtt min/avg/max/mdev = 0.435/0.523/0.596/0.066 ms[root@R1 ~]# ping -c3 10.0.4.254PING 10.0.4.254 (10.0.4.254) 56(84) bytes of data. --- 10.0.4.254 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2033ms[root@R1 ~]# ping -c3 10.0.6.254PING 10.0.6.254 (10.0.6.254) 56(84) bytes of data. --- 10.0.6.254 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2046ms [root@R1 ~]#
[root@R3 ~]# ping -c3 10.0.13.2PING 10.0.13.2 (10.0.13.2) 56(84) bytes of data. 64 bytes from 10.0.13.2: icmp_seq=1 ttl=64 time=0.452 ms 64 bytes from 10.0.13.2: icmp_seq=2 ttl=64 time=0.569 ms 64 bytes from 10.0.13.2: icmp_seq=3 ttl=64 time=0.435 ms --- 10.0.13.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2081ms rtt min/avg/max/mdev = 0.435/0.485/0.569/0.059 ms[root@R3 ~]# ping -c3 10.0.4.254PING 10.0.4.254 (10.0.4.254) 56(84) bytes of data. --- 10.0.4.254 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2051ms[root@R3 ~]# ping -c3 10.0.6.254PING 10.0.6.254 (10.0.6.254) 56(84) bytes of data. --- 10.0.6.254 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2063ms [root@R3 ~]#
wget <dstIP>:<dstPort> и ssh <dstIP> на R1 и R3 проверьте доступность разрешённых сервисов S‑абонентов и запрет остальных.
[root@R1 ~]# wget -t=1 10.0.4.254:8000Prepended http:// to '10.0.4.254:8000' --2025-10-06 19:24:48-- http://10.0.4.254:8000/ Connecting to 10.0.4.254:8000... connected. HTTP request sent, awaiting response... 200 OK Length: 1142 (1.1K) [text/html] Saving to: 'index.html' index.html 100%[====================================>] 1.12K --.-KB/s in 0s 2025-10-06 19:24:48 (72.1 MB/s) - 'index.html' saved [1142/1142][root@R1 ~]# wget -t=1 10.0.6.254:8000Prepended http:// to '10.0.6.254:8000' --2025-10-06 19:24:53-- http://10.0.6.254:8000/ Connecting to 10.0.6.254:8000...^C[root@R1 ~]# ssh 10.0.4.254^C[root@R1 ~]# ssh 10.0.6.254^C [root@R1 ~]#
[root@R3 ~]# wget -t=1 10.0.4.254:8000Prepended http:// to '10.0.4.254:8000' --2025-10-06 19:26:32-- http://10.0.4.254:8000/ Connecting to 10.0.4.254:8000...^C[root@R3 ~]# wget -t=1 10.0.6.254:8000Prepended http:// to '10.0.6.254:8000' --2025-10-06 19:26:38-- http://10.0.6.254:8000/ Connecting to 10.0.6.254:8000...^C[root@R3 ~]# ssh 10.0.4.254^C[root@R3 ~]# ssh 10.0.6.254Last login: Mon Oct 6 19:14:31 2025 from 10.0.13.3 [root@S2 ~]# <^D>logout Connection to 10.0.6.254 closed. [root@R3 ~]#

R1:
Adapter2 — net1
R2:
Adapter1 — net1
Adapter2 — net2
Adapter3 — net3
S1:
Adapter2 — net2
S2:
Adapter2 — net3
Таблица 11.1. Варианты заданий
|
Вариант
|
Задание
|
|---|---|
|
1
|
|
|
2
|
|
|
3
|
|
|
4
|
|
|
5
|
|
|
6
|
|
|
7
|
|
report 11 r1
ip a show eth1.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.30.200.1.
ping -fc3 10.30.100.1.
python3 -m http.server.
report 11 r2
ip a show.
ip route.
cat /etc/bird/bird.conf.
ip rule.
tcpdump -xx -i eth1.
report 11 s1
ip a show eth1.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.30.100.1.
ping -fc3 8.8.8.1.
wget -t1 -T3 8.8.8.1.
ssh -o ConnectTimeout=5 8.8.8.1.
report 11 s2
ip a show eth1.
ip route.
cat /etc/bird/bird.conf.
ping -fc3 10.30.200.1.
ping -fc3 8.8.8.1.
wget -t1 -T3 8.8.8.1.
ssh -o ConnectTimeout=5 8.8.8.1.
report.11.r1, report.11.r2, report.11.s1, report.11.s2 через последовательный порт перенести из виртуальной машины и прислать их преподавателю с подписью выполненного варианта.

client:
Adapter2 — outnet
network:
Adapter2 — outnet
Adapter3 — innet
company:
Adapter2 — innet
systemd-networkd, отвечающая за автонастройку всех сетевых служб в Linux. Преимущество такого способа заключается в сохранении всех настроек после перезагрузки устройства, поскольку записи о настройке хранятся не в оперативной памяти, а в файлах специального вида.
@client:/etc/systemd/network/50-outnet.network
[Match] Name=eth1 [Network] Address=10.0.12.1/24 [Route] Gateway=10.0.12.2 Destination=10.0.0.0/8
Примечание
.network-файла будет поднят интерфейс eth1, ему будет присвоен адрес 10.0.12.1/24, а в таблицу маршрутизации будет добавлена запись, согласно которой все пакеты, отправляемые на адреса сети 10.0.0.0/8, будут первоначально направляться на адрес 10.0.12.2.
systemd-networkd можно также создавать и новые интерфейсы, однако это потребует создания отдельного файла, поэтому добавление LoopBack‑интерфейса будет выполнено вручную.
[root@client ~]# ip link add dev lo0 type veth[root@client ~]# ip link set lo0 up[root@client ~]# ip addr add dev lo0 10.0.1.1/24
@company:/etc/systemd/network/50-outnet.network
[Match] Name=eth1 [Network] Address=10.0.23.3/24 [Route] Gateway=10.0.23.2 Destination=10.0.0.0/8
[root@company ~]# ip link add dev lo0 type veth[root@company ~]# ip link set lo0 up[root@company ~]# ip addr add dev lo0 10.0.3.3/24[root@company ~]#
@network. Но для закрепления ручной настройки задайте параметры вручную.
[root@network ~]# ip link set eth1 up[root@network ~]# ip link set eth2 up[root@network ~]# ip addr add dev eth1 10.0.12.2/24[root@network ~]# ip addr add dev eth2 10.0.23.2/24[root@network ~]# sysctl net.ipv4.conf.all.forwarding=1[root@network ~]#[root@network ~]# ip route add 10.0.1.1 via 10.0.12.1[root@network ~]# ip route add 10.0.3.3 via 10.0.23.3[root@network ~]#
systemd-networkd необходимо активировать сервис с помощью служебной команды systemctl enable --now (enable включает возможность активации сервиса при включении устройства. Флаг --now включает сервис непосредственно сейчас).
systemctl enable --now systemd-networkd запустите сервис автонастройки на client и company
[root@client ~]# systemctl enable --now systemd-networkd
Created symlink '/etc/systemd/system/dbus-org.freedesktop.network1.service' -> '/usr/lib/systemd/system/systemd-networkd.service'.
Created symlink '/etc/systemd/system/multi-user.target.wants/systemd-networkd.service' -> '/usr/lib/systemd/system/systemd-networkd.service'.
Created symlink '/etc/systemd/system/sockets.target.wants/systemd-networkd.socket' -> '/usr/lib/systemd/system/systemd-networkd.socket'.
Created symlink '/etc/systemd/system/sysinit.target.wants/systemd-network-generator.service' -> '/usr/lib/systemd/system/systemd-network-generator.service'.
Created symlink '/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service' -> '/usr/lib/systemd/system/systemd-networkd-wait-online.service'.
[root@client ~]#
[root@company ~]# systemctl enable --now systemd-networkd
Created symlink '/etc/systemd/system/dbus-org.freedesktop.network1.service' -> '/usr/lib/systemd/system/systemd-networkd.service'.
Created symlink '/etc/systemd/system/multi-user.target.wants/systemd-networkd.service' -> '/usr/lib/systemd/system/systemd-networkd.service'.
Created symlink '/etc/systemd/system/sockets.target.wants/systemd-networkd.socket' -> '/usr/lib/systemd/system/systemd-networkd.socket'.
Created symlink '/etc/systemd/system/sysinit.target.wants/systemd-network-generator.service' -> '/usr/lib/systemd/system/systemd-network-generator.service'.
Created symlink '/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service' -> '/usr/lib/systemd/system/systemd-networkd-wait-online.service'.
[root@company ~]#
[root@company ~]# ping -c5 10.0.12.1
PING 10.0.12.1 (10.0.12.1) 56(84) bytes of data.
64 bytes from 10.0.12.1: icmp_seq=1 ttl=63 time=1.80 ms
64 bytes from 10.0.12.1: icmp_seq=2 ttl=63 time=0.684 ms
64 bytes from 10.0.12.1: icmp_seq=3 ttl=63 time=1.03 ms
64 bytes from 10.0.12.1: icmp_seq=4 ttl=63 time=0.990 ms
64 bytes from 10.0.12.1: icmp_seq=5 ttl=63 time=1.06 ms
--- 10.0.12.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4038ms
rtt min/avg/max/mdev = 0.684/1.113/1.800/0.369 ms
[root@company ~]#
[root@client ~]# ping -c3 -I 10.0.1.1 10.0.3.3
PING 10.0.3.3 (10.0.3.3) from 10.0.1.1 : 56(84) bytes of data.
64 bytes from 10.0.3.3: icmp_seq=1 ttl=63 time=0.842 ms
64 bytes from 10.0.3.3: icmp_seq=2 ttl=63 time=0.861 ms
64 bytes from 10.0.3.3: icmp_seq=3 ttl=63 time=0.814 ms
--- 10.0.3.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2048ms
rtt min/avg/max/mdev = 0.814/0.839/0.861/0.019 ms
[root@client ~]#
@company на @client.
ssh <dstIP> убедитесь в доступности SSH‑соединения с company на client
[root@company ~]# ssh 10.0.12.1
The authenticity of host '10.0.12.1 (10.0.12.1)' can't be established.
ED25519 key fingerprint is SHA256:BxaYoHAW5ddfM6EwmgSAZ2tKXCH0zoppLfEcQ8YiGdg.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.0.12.1' (ED25519) to the list of known hosts.
Last login: Sun Oct 19 13:19:43 2025
[root@client ~]#
<^D>logout
Connection to 10.0.12.1 closed.
[root@company ~]#
systemctl enable --now nftables.service запустите сервис поддержки сетевого экрана на network.
nft add rule inet filter forward ip protocol tcp reject установите блокировку TCP‑соединений в сети
[root@network ~]# systemctl enable --now nftables.serviceCreated symlink '/etc/systemd/system/multi-user.target.wants/nftables.service' -> '/usr/lib/systemd/system/nftables.service'.[root@network ~]# nft add rule inet filter forward ip protocol tcp reject[root@network ~]#
ssh <dstIP> убедитесь в недоступности SSH‑соединения с company на client
[root@company ~]# ssh 10.0.12.1
ssh: connect to host 10.0.12.1 port 22: Connection refused
[root@company ~]#
Примечание
Предупреждение
wg genkey для приватного ключа и wg pubkey для открытого ключа.
Предупреждение
@client:
ClientPrivateKeyNeverDoThisMethodIRL1234564=
R2Dq51uWpvn/9wo6IweimQrMAcailb6ZMiJmqFepJmU=
@company:
CompanyPrivateKeyNeverDoThisMethodIRL123454=
fAS3DCTBIIQ3miLTLjuryy0YmZr9HiHTh2sZf9inSi4=
wg genkey | tee /dev/stderr | wg pubkey
@client и @company.
[root@client ~]# wg genkey | tee /dev/stderr | wg pubkey
YHbaodB1g6Uh4rXa/Y17gf4t3pjVt68dABYDq79+tVE=
HjxgpnWK367aURR7x6sy9b8wM3UhDJCbs/5XWGWe6CU=
[root@client ~]#
[root@company ~]# wg genkey | tee /dev/stderr | wg pubkey
OFcPIl8PXbjoPozp9qBH2ZQPOUsr7Qj1ZlyZXeMnMlI=
V87kz+xm9c1liF0WQpBW33Dep2W8B++xby80SrBJ2Cc=
[root@company ~]#
@client, для него необходимо указать порт, на котором он будет ожидать соединения.
@client:/etc/systemd/network/70-wg.netdev
[NetDev] Name = wg Kind = wireguard [WireGuard] ListenPort = 51820 PrivateKey = YHbaodB1g6Uh4rXa/Y17gf4t3pjVt68dABYDq79+tVE= [WireGuardPeer] AllowedIPs = 192.168.0.0/24 PublicKey = V87kz+xm9c1liF0WQpBW33Dep2W8B++xby80SrBJ2Cc=
@client:/etc/systemd/network/70-wg.network
[Match] Name = wg [Network] Address = 192.168.0.1/24
Примечание
@company, поскольку отсюда будет производиться подключение, необходимо указать итоговый адрес подключения — IP‑адрес и порт.
@company:/etc/systemd/network/70-wg.netdev
[NetDev] Name = wg Kind = wireguard [WireGuard] PrivateKey = OFcPIl8PXbjoPozp9qBH2ZQPOUsr7Qj1ZlyZXeMnMlI= [WireGuardPeer] AllowedIPs = 192.168.0.0/24 PublicKey = HjxgpnWK367aURR7x6sy9b8wM3UhDJCbs/5XWGWe6CU= Endpoint = 10.0.1.1:51820
@company:/etc/systemd/network/70-wg.network
[Match] Name = wg [Network] Address = 192.168.0.2/24
Примечание
systemd. Для решения проблемы можно создать отдельный файл с приватным ключом и указать его в netdev‑файл через параметр PrivateKeyFile или ограничить права для файла только для группы systemd-network.
chgrp и chmod задайте права файлам создания интерфейсов wg, а после перезапустите сервис systemd-networkd для применения настроек
[root@client ~]# chgrp systemd-network /etc/systemd/network/70-wg.netdev[root@client ~]# chmod o-r /etc/systemd/network/70-wg.netdev[root@client ~]# systemctl restart systemd-networkd[root@client ~]#
[root@company ~]# chgrp systemd-network /etc/systemd/network/70-wg.netdev[root@company ~]# chmod o-r /etc/systemd/network/70-wg.netdev[root@company ~]# systemctl restart systemd-networkd
ssh <dstIP> убедитесь в доступности SSH‑соединения с company на client через VPN‑соединение
[root@company ~]# ssh 192.168.0.1
The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
ED25519 key fingerprint is SHA256:BxaYoHAW5ddfM6EwmgSAZ2tKXCH0zoppLfEcQ8YiGdg.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:3: 10.0.12.1
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.1' (ED25519) to the list of known hosts.
Last login: Sun Oct 19 13:45:18 2025 from 10.0.23.3
[root@client ~]#
<^D>logout
Connection to 192.168.0.1 closed.
[root@company ~]#
IP over IP, или IP in IP — простейшая схема туннелирования, основанная на инкапсуляции одного IP‑пакета в другой IP‑пакет. С точки зрения инкапсуляции пакета данный протокол добавляет ещё один заголовок сетевого уровня к уже существующему. Для обработки таких мета‑пакетов необходимо использовать специальный виртуальный интерфейс, который будет обрабатывать специализированный трафик.

[root@client ~]# ip link add dev lo1 type veth[root@client ~]# ip link set lo1 up[root@client ~]# ip addr add dev lo1 10.0.11.11/24[root@client ~]#
[root@company ~]# ip link add dev lo1 type veth[root@company ~]# ip link set lo1 up[root@company ~]# ip addr add dev lo1 10.0.33.33/24[root@company ~]#
[root@network ~]# ip route add 10.0.11.11 via 10.0.12.1[root@network ~]# ip route add 10.0.33.33 via 10.0.23.3[root@network ~]#
[root@client ~]# ping -c3 -I 10.0.11.11 10.0.33.33
PING 10.0.33.33 (10.0.33.33) from 10.0.11.11 : 56(84) bytes of data.
64 bytes from 10.0.33.33: icmp_seq=1 ttl=63 time=1.31 ms
64 bytes from 10.0.33.33: icmp_seq=2 ttl=63 time=0.594 ms
64 bytes from 10.0.33.33: icmp_seq=3 ttl=63 time=0.759 ms
--- 10.0.33.33 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 0.594/0.886/1.306/0.304 ms
[root@client ~]#
ssh <dstIP> убедитесь в недоступности SSH‑соединения с company на client в заданных сетях
[root@company ~]# ssh 10.0.11.11
ssh: connect to host 10.0.11.11 port 22: Connection refused
[root@company ~]#
ipip, связанный с некоторыми уже существующими адресами. После — добавить адреса локальной сети туннеля и использовать его для коммуникации.
ipip и настройте его для туннелирования
[root@client ~]# ip link add ipip0 type ipip remote 10.0.33.33 local 10.0.11.11[root@client ~]# ip addr add dev ipip0 172.16.0.1/24[root@client ~]# ip link set ipip0 up[root@client ~]#
[root@company ~]# ip link add ipip0 type ipip remote 10.0.11.11 local 10.0.33.33[root@company ~]# ip addr add dev ipip0 172.16.0.2/24[root@company ~]# ip link set ipip0 up[root@company ~]#
ssh <dstIP> убедитесь в доступности SSH‑соединения с company на client в заданных сетях
[root@company ~]# ssh 172.16.0.1
The authenticity of host '172.16.0.1 (172.16.0.1)' can't be established.
ED25519 key fingerprint is SHA256:BxaYoHAW5ddfM6EwmgSAZ2tKXCH0zoppLfEcQ8YiGdg.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:3: 10.0.12.1
~/.ssh/known_hosts:6: 192.168.0.1
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.16.0.1' (ED25519) to the list of known hosts.
Last login: Mon Oct 20 22:30:47 2025
[root@client ~]#
<^D>logout
Connection to 172.16.0.1 closed.
[root@company ~]#
eth1 на @network
[root@network ~]# tcpdump -c6 -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
[root@client ~]# ping -c3 -I 172.16.0.1 172.16.0.2
PING 172.16.0.2 (172.16.0.2) from 172.16.0.1 : 56(84) bytes of data.
64 bytes from 172.16.0.2: icmp_seq=1 ttl=64 time=0.747 ms
64 bytes from 172.16.0.2: icmp_seq=2 ttl=64 time=1.06 ms
64 bytes from 172.16.0.2: icmp_seq=3 ttl=64 time=0.796 ms
--- 172.16.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2045ms
rtt min/avg/max/mdev = 0.747/0.869/1.064/0.139 ms
[root@client ~]#
[root@network ~]# tcpdump -c6 -i eth1
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
23:01:53.464000 IP 10.0.11.11 > 10.0.33.33: IP 172.16.0.1 > 172.16.0.2: ICMP echo request, id 4, seq 1, length 64
23:01:53.464411 IP 10.0.33.33 > 10.0.11.11: IP 172.16.0.2 > 172.16.0.1: ICMP echo reply, id 4, seq 1, length 64
23:01:54.465498 IP 10.0.11.11 > 10.0.33.33: IP 172.16.0.1 > 172.16.0.2: ICMP echo request, id 4, seq 2, length 64
23:01:54.465932 IP 10.0.33.33 > 10.0.11.11: IP 172.16.0.2 > 172.16.0.1: ICMP echo reply, id 4, seq 2, length 64
23:01:55.521020 IP 10.0.11.11 > 10.0.33.33: IP 172.16.0.1 > 172.16.0.2: ICMP echo request, id 4, seq 3, length 64
23:01:55.521376 IP 10.0.33.33 > 10.0.11.11: IP 172.16.0.2 > 172.16.0.1: ICMP echo reply, id 4, seq 3, length 64
6 packets captured
6 packets received by filter
0 packets dropped by kernel
[root@network ~]#
report 12 client
cat /etc/systemd/network/50-outnet.network.
cat /etc/systemd/network/70-wg.netdev.
cat /etc/systemd/network/70-wg.network.
ip a show eth1.
ip route.
python3 -m http.server.
<Завершите работу после выполнения остальных отчётов>.
report 12 network
ip a show eth1.
ip a show eth2.
ip route.
nft list ruleset.
tcpdump -xx -i eth1.
<Завершите работу после выполнения остальных отчётов>.
report 12 company
cat /etc/systemd/network/50-outnet.network.
cat /etc/systemd/network/70-wg.netdev.
cat /etc/systemd/network/70-wg.network.
ip a show eth1.
ip route.
ssh 10.0.12.1.
ssh 192.168.0.1.
ssh 172.16.0.1.
wget -t1 -T3 10.0.12.1.
wget -t1 -T3 192.168.0.1.
wget -t1 -T3 171.16.0.1.
report.12.client, report.12.network, report.12.company через последовательный порт перенести из виртуальной машины и прислать их преподавателю.