Инструменты пользователя

Инструменты сайта


how-to:ip

ip

iproute2

link

Отключить интерфейс:

ip link set имя_интерфейса down

Сменить mac:

ip link set имя_интерфейса address XX:XX:XX:XX:XX:XX

addr

Добавить дополнительный ip адрес на интерфейс eth0 (не будет виден в ifconfig):

ip addr add 10.0.10.99/24 brd + dev eth0

Добавить дополнительный ip адрес на интерфейс eth0 с именем (будет виден в ifconfig):

ip addr add 10.0.10.99/24 brd + dev eth0 label eth0:Name

route

Показать все id таблиц:

ip route show table all | grep "table" | sed 's/.*\(table.*\)/\1/g' | awk '{print $2}' | sort | uniq
#или
ip route show table all | grep -Po 'table \K[^\s]+' | sort -u

2 ip адреса

Добавляем 2 таблицы в /etc/iproute2/rt_tables

201 T1
202 T2

командами под sudo:

grep T1 /etc/iproute2/rt_tables >/dev/null || echo 201 T1 >> /etc/iproute2/rt_tables
grep T2 /etc/iproute2/rt_tables >/dev/null || echo 202 T2 >> /etc/iproute2/rt_tables

Прописываем маршруты:

#!/bin/sh
IP1=10.0.10.3
IP2=192.168.10.3
GW1=10.0.10.254
GW2=192.168.10.1
ip route add default via $GW1 table T1
ip route add default via $GW2 table T2
ip route add default via $GW1
ip rule add from $IP1 table T1
ip rule add from $IP2 table T2 

Пример настройки 2-х ip из одной сети на разных интерфейсах:

#!/bin/sh
 
grep T1 /etc/iproute2/rt_tables >/dev/null || echo 201 T1 >> /etc/iproute2/rt_tables
grep T2 /etc/iproute2/rt_tables >/dev/null || echo 202 T2 >> /etc/iproute2/rt_tables
 
IP1=192.168.10.148
IP2=192.168.10.142
DEV1=ens18
DEV2=ens19
GW=192.168.10.1
 
ip route list table T1 | grep "default via $GW dev $DEV1" || ip route add default via $GW dev $DEV1 table T1
ip route list table T2 | grep "default via $GW dev $DEV2" || ip route add default via $GW dev $DEV2 table T2
ip rule list | grep "from $IP1 lookup T1" || ip rule add from $IP1 table T1
ip rule list | grep "from $IP2 lookup T2" || ip rule add from $IP2 table T2

http://www.odmin4eg.ru/2011/486/

Bound

Bridge

Добавить мост br0:

ip link add br0 type bridge
ip link set br0 up

Добавить интерфейс eth0 в мост br0:

ip link set eth0 master br0

Удалить интерфейс eth0 из моста:

ip link set dev eth0 nomaster

Удалить мост br0

ip link del br0

VXLAN

Unicast

mikrotik - iproute2

Связать в хоста: 1 хост:

ip link add vxlan154 type vxlan id 154 remote 192.168.255.253 local 192.168.255.254 dstport 4789
ip link set vxlan154 up

2 хост:

ip link add vxlan154 type vxlan id 154 remote 192.168.255.254 local 192.168.255.253 dstport 4789
ip link set vxlan154 up

Посмотреть информацию:

ip -d link show vxlan154

Для прохождения пакетов более 1450 необходимо изменить mtu:

ip link set vxlan154 mtu 1450

https://net-labs.in/2014/07/03/vxlan-%D0%B2-linux-unicast-mode/
https://www.kernel.org/doc/Documentation/networking/vxlan.txt

Проблемы

В dmesg и syslog генерируются сообщения: vxlan: non-ECT from X.X.X.X with TOS=0x2

Решение:

echo N | sudo tee /sys/module/vxlan/parameters/log_ecn_error
echo "options vxlan log_ecn_error=N" | sudo tee /etc/modprobe.d/vxlan-ecn.conf

https://hawkvelt.id.au/post/2023-08-14-vxlan-non-etc/

GRE

Добавить туннель:

ip tunnel add gre01 mode gre remote remote 192.168.255.254 local 192.168.255.253
ip link set gre01 up

Удалить туннель:

ip link set gre01 down
ip tunnel del gre01

https://www.xmodulo.com/create-gre-tunnel-linux.html

L2TP

Возможно понадобится установить linux-modules-extra-*

Показать туннели l2tp:

ip l2tp show tunnel

https://blog.erben.sk/2022/11/07/layer-2-vpn-from-mikrotik-to-linux-proxmox-pve/ - L2TP L2 по UDP с ipsec шифрованием внутри

Проблемы

При добавлении L2TP туннеля:

RTNETLINK answers: No such file or directory
Error talking to the kernel

Решение, установить пакет linux-modules-extra-* для текущего ядра:

#apt-file search l2tp_eth.ko
apt install linux-modules-extra-6.8.0-1021-azure

Ссылки

how-to/ip.txt · Последнее изменение: lioncub