Iproute2

From HackerNet
Revision as of 16:00, 8 December 2016 by Helikopter (talk | contribs)
Jump to: navigation, search

Ifconfig, arp och route-kommandona är påväg bort, vänj dig vid iproute2. De två viktigaste verktygen är ip och tc (traffic control)
Med dessa kommandon behöver man inte skriva ut alla bokstäver, likt switchar och routrar. T.ex. ip a s är samma som ip address show

ip

Version

ip -V

ip address show

ip a
ip -br a
ip a s eth0

ip routes show

ip r

ip link
ifconfig

ip l
ip -br l
ip -s l  #med statistik

ifup/ifdown

ip link set eth0 up/down

Description

ip link set eth0 alias "LAN interface"

Promiscuous mode på interface

ip link set eth0 promisc on
ip a | grep PROMISC

Macchanger

ip link set dev eth0 address 00:11:22:33:44:55

ip neigh
ARP/NDP

ip n

Flush cache

ip n f

Monitor
Monitor changes in network configuration, routing tables, and ARP/NDP tables from terminal.

ip monitor

VXLAN

VXLAN är ett tunnlingsprotokoll designat för att lösa skalbarhetsbegränsningar med VLAN. Det ökar från 4096 till 24 bitar (16 miljoner) id:n. Protokollet körs över en enskild konfigurerbar UDP-port. EN VXLAN-enhet kan lära sig MAC/IP-adresser tillhörande andra sidan tunneln antingen dynamiskt likt en switch eller med statiska forwarding entries.

Unicast

ip link add vxlan0 type vxlan id 10 remote 2.2.2.2 local 1.1.1.1 dev eth0

Alternativt med multicast

ip link add vxlan0 type vxlan id 10 group 239.1.1.1 dev eth0 dstport 4789

Enablea interface

ip link set up dev vxlan0

Kolla interface och forwarding table

ip -d link show vxlan0
bridge fdb show dev vxlan0

Delete interface

ip link delete vxlan0

Skapa entry manuellt

bridge fdb add to 00:00:0c:80:bb:07 dst 2.2.2.2 dev vxlan0

L2TPv3

modprobe l2tp_eth
ip l2tp add tunnel local 1.1.1.1 remote 2.2.2.2 tunnel_id 100 peer_tunnel_id 200 encap udp udp_sport 5000 udp_dport 5000
ip l2tp add session tunnel_id 100 session_id 300 peer_session_id 300

Show

ip l2tp show tunnel

Network Namespace

Skapa VRF, assigna interface och sätt adress

ip netns add MGMT
ip link set eth1 netns MGMT
ip netns exec MGMT ip addr add 10.0.0.101/24 dev eth1
ip netns exec MGMT ip route add default via 10.0.0.1
ip netns list

Subinterface

ip link add link eth1 name eth1.20 type vlan id 20
ip address add 192.168.20.1/24 dev eth1.20 
ip link set eth1.20 up

MAC VLAN

Med MAC VLAN kan man assigna flera MAC-adresser till samma interface. Man kan uppnå samma resultat som med Bridge men är mer light-weight. Det kan skapas i 4 modes: private, vepa, bridge eller passthru beroende på säkerhetskraven. Det går att köra MAC VLAN tillsammans med KVM.

ip link add link eth0 mac0 type macvlan

Blackhole

Discard traffic sent to unwanted destinations

ip route add blackhole 192.168.2.0/30

Configuration Caching

Ska man flytta en IP-adress från ett interface till ett annat är det bra att flusha cachen emellan för att säkerställa att det inte hänger kvar något.

ip a flush dev <OLD-device>

ss

Socket statistics. Användbart och lättmemorerat kommando som ersätter netstat:

ss -tulpan

tc

Traffic control

Netem

Delay

tc qdisc change dev eth0 root netem delay 100ms 20ms distribution normal

Packet loss

tc qdisc change dev eth0 root netem loss 0.3% 25%

Reorder

tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%