Networking

NASTAVENI IP ADRESY:
    ifconfig eth0 <ip_address> netmask <mask>                           # v plnne forme zapisu
    ifconfig eth0 <ip_address>/<mask>                                   # zkracene
    ifconfig eth0 down
    ifconfig eth0 up
NASTAVENI BRANY:
    route add default gw <gateway_address>
NASTAVANI ROUT:
    route add -net <ip_address> gw <gateway_address> netmask <mask> eth0
ZMENA MAC:
    ifconfig eth0 hw ether <MAC_address>
------------------------------------------------------------------------
VYPIS NASTAVENI:
    ifconfig -a
    route -n

NASTAVENI IP ADRESY:
    ip addr add <ip_address>/<mask> brd + dev eth0                      # (brd +) dopocita se
    ip addr flush dev eth0                                              # flushnuti adresy
    ip link set eth0 down                                               # lze i: "ip link set dev eth0 down"
    ip link set eth0 up
NASTAVENI BRANY:
    ip route add default via <gateway_address>
NASTAVANI ROUT:
    ip route add <ip_address>/<mask> via <gateway_address>
ZMENA MAC:
    ip link set eth0 address <MAC_address>
PRIDANI ODEBRANI ROZHRANI:
    sudo ip link add dev tap0
    sudo ip link del dev tap0
------------------------------------------------------------------------
VYPIS NASTAVENI:
    ip a s |more
    ip addr show |more
    ip r s
    ip route show

Uvolnění ip na interface, dhclient:

dhclient -r *interface*

žádost o novou IP z DHCP serveru (alert on error):

dhclient -1 *interface*

Skript na shapovani traficu wondershaper:

# wondershaper <interface> <down_kbps> <up_kbps>
wondershaper enp0s25 20000 20000

Reload sysctl ma svoje specifika. Muzeme reloadovat jen /etc/sysctl, nebo vsechny sysctl vcetne sysctl.d:

# reload vsech
sysctl --system
# reload jen  /etc/sysctl
sysctl -p

Trvale se sitovani nastavuje v /etc/network/interfaces:

auto eth0                                                       # nastaveni staticke ip adresy
iface eth0 inet static
    address 192.168.0.10
    netmask 255.255.255.0
    gateway 192.168.0.1
    #dns-nameservers 12.34.56.78 12.34.56.79                    # musi byt nainstalovany balicek "resolvconf"
    #hwaddress 00:11:22:33:44:55
    #mtu 1492
    pre-up ip link set dev eth0 address xx:xx:xx:xx:xx:xx       # nastaveni fake mac sitovy karty
auto eth1                                                       # nastaveni ip adresy z dhcp
iface eth1 inet dhcp
    pre-up iptables-restore < /etc/iptables.rules               # pred inicializaci rozhrani se nastavi firewall
    up openvpn --config /etc/openvpn/vpn                        # po inicializaci rozhrani se spusti vpn
    down iptables -F && iptables -t nat -F                      # pred shozenim rozhrani vypnout vpn
    post-down killall proces                                    # po shozeni rozhrani zabit proces

Základní konfigurace ve /etc/sysconfig/network:

NETWORKING=yes
HOSTNAME=zdenek.example.com
DOMAINNAME=example.com
GATEWAY=192.168.0.1
#GATEWAYDEV=eth0
NOZEROCONF=yes                                                 # zabrani nastavovani site 169.254.0.0/255.255.0.0 pod RHEL/CentOS

Konfigurace jednotlivých síťových karet je v /etc/sysconfig/network-script/ifcfg-ethX:

DEVICE=eth0                                             # jmeno zarizeni
IPADDR=192.168.0.10                                     # nastaveni ip adresy
NETMASK=255.255.255.0                                   # maska
ONBOOT=yes              {yes,no}                        # ma byt interfejs aktivni pri bootovani
BOOTPROTO=none          {none,bootp,dhcp}               # boottime protokol
USERCTL=no              {yes,no}                        # no-jen root muze spravova zarizeni
#ETHTOOL_OPTS="autoneg off speed 100 duplex full"       # nastaveni rychlosti linky, viz. "man ethtool"
#GATEWAY=192.168.0.200                                  # gateway muzem specifikovat i zde
#HWADDR=00:11:22:33:44:55                               # nastaveni MACovky
#MASTER=                                                # pokud se pouziva bonding
#SLAVE=                                                 # pokud se pouziva bonding
#SRCADDR=x.x.x.x                                        # mozno specifikovat ip adresu odchozich paketu
PEERNTP=no                                              # zabrani dhcp clientu prepisovat /etc/ntp.conf
DNS1=8.8.8.8                                            # nastaveni dns
DNS2=8.8.4.4

------------- priklad dhcp -------------
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=ETHERNET

------------ priklad static ------------
DEVICE=sit1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.16.0.2
NETMASK=255.255.0.0
----------------------------------------

Pokud bychom potřebovali trvale nastavit virtualní rozhraní /etc/sysconfig/network-script/ifcfg-eth0:15:

DEVICE=eth0:15
IPADDR=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

Trvale nastavovat jdou routy v souboru /etc/sysconfig/route-ethX ve formě zápisu příkazu "ip":

default via 10.10.10.10 metric 1                        # nastaveni vychozi brany
192.168.1.0/24 via 192.168.1.1                          # nastaveni routy
--------------
GATEWAY0=10.20.0.254                                    # zapis routy, jiny(starsi tvar, nepouzivat! :))
NETMASK0=255.255.0.0
ADDRESS0=172.16.0.0
GATEWAY1=10.20.0.253
NETMASK1=255.255.0.0
ADDRESS1=172.17.0.0

Pro bridgování(v debianu) budeme potřebovat balíček "bridge-utils":

apt-get install bridge-utils

Ruční vytvoření bridge:

brctl addbr br0                                             # pridani bridge
brctl addif br0 eth0                                        # pridani interfacu do brige
brctl addif br0 tap0
ifconfig br1 192.168.0.1 netmask 255.255.0.0                # nastaveni, ip, masky
brctl delif br1 eth0                                        # odebrani rozhrani z bridge
brctl delbr br1                                             # smazani rozhrani bridge

Info o nastavení bridge:

brctl show

Nastavení bridge ve /etc/network/interfaces:

auto eth0
iface eth0 inet static
#       up mii-tool -F 10baseT-HD eth0
auto br0                                                # vytvoreni br0
iface br0 inet static                                   # static
        address 192.168.0.1
        netmask 255.255.255.0
        bridge_ports eth0 tap0
        bridge_maxwait 5
#auto br0
#iface br0 inet dhcp                                    # nebo dhcp
#       bridge_ports eth0 tap0

V Centosu jsou konfiguraky rozcleněny do vlastních souborů:

vim /etc/sysconfig/network-scripts/ifcfg-br0
    DEVICE=br0
    TYPE=bridge
    BOOTPROTO=static
    DNS1=192.168.1.1
    DNS2=8.8.8.8
    GATEWAY=192.168.0.1
    IPADDR=192.168.0.100
    NETMASK=255.255.255.0
    ONBOOT=yes
    SEARCH="example.com"

vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    HWADDR=00:00:12:34:56:77
    ONBOOT=yes
    #GATEWAY=192.168.1.1
    #NETMASK=255.255.255.0
    #NETWORK=192.168.1.0
    TYPE=ethernet
    USERCTL=no
    BRIDGE=br0

vim /etc/sysconfig/network-scripts/ifcfg-eth1
    DEVICE=eth1
    HWADDR=00:00:12:34:56:88
    ONBOOT=yes
    TYPE=ethernet
    USERCTL=no
    BRIDGE=br0

Vlana je logické nezavislé propojení sítě, čili taková virtuální síť v síti. Rozeznáváme vlany tagované a netgované:

  • netagované - každý port switche může obsahovat pouze jednu netagovanou vlan, systém ji vidí jako fyzicky propoj (napr. přes rj45)
  • tagované - každým portem jde protáhnout několik tagovaných vlan, tagované vlany si pak rozezná konečný systém Aby vlany fungovaly nahrává se modul 8021q
    modprobe 8021q

vconfig add eth0 100                                                # potreba balicek "apt-get install vlan"
ifconfig eth0.100 xxx.xxx.xxx.xxx netmask 255.255.252.0 up
ifconfig eth0.100 up
ifconfig -a
#vconfig add eth1 8                                                 # pro dhcp
#dhclient eth1.8

ip link add link eth0 name eth0.100 type vlan id 100
ip addr add 192.168.100.1/24 brd 192.168.100.255 dev eth0.100
ip link set dev eth0.100 up
ip link show

vim /etc/sysconfig/network-scripts/ifcfg-bond0
    DEVICE=bond0
    BOOTPROTO=static
    ONBOOT=yes
    TYPE=Ethernet

vim /etc/sysconfig/network-scripts/ifcfg-bond0.100                  # cislo vlany
    DEVICE=bond0.100                                                # cislo vlany
    TYPE=Ethernet
    ONBOOT=yes
    VLAN=yes
    BRIDGE=br0

V /etc/network/interfaces:

auto eth0.8
iface eth0.8 inet static
    address 10.0.0.1
    netmask 255.255.255.0

Bonding je metoda, pomoci ktere jsme schopni softwarově spojit dvě síťové karty do jedné virtuální Bonding lze sestavit buďto pro zvýšení výkonu nebo pro zvýšení dostupnosti(failover), v linuxu můžeme použit bonding mody:

  • balance-rr (mode0)
    • režim přenáší pakety cyklicky ve střídavém pořadí, první paket zpracuje první karta, druhý druhá, třetí třetí...
    • v případě výpadku jsou data odeslaná funkční síťovou kartou
    • dochazí k vyvážení provozní zatěže
  • active-backup (mode1)
    • v provozu je vždy jedna siťová karta v jednom okamžiku
    • pokud aktivní siťová karta selže, je do provozu uvedena druhá záložní siťová karta
    • nedochází k žadnému růstu výkonu, zajištuje se pouze failover
  • balance-xor (mode2)
  • broadcast (mode3)
    • v tomto režimu je posíláno vše duplicitně na všech siťových kartách
    • zajišťuje failover
  • 802.3ad (mode4)
    • agregace linek, spojení několika portu dohromady pro vytvoření jedné širokopásmové cesty
    • přepínač(je potřeba nastavit) zachází se všemi porty sdruženými ve skupině, jako s jedním portem
  • balance-tlb (mode5 - transmit load balancing)
    • load balancing (rozložení zatěže na více slabších strojů), odchozí provoz je distribuován podle zatížní
    • pokud jedna siťová karta selže, další siťová karta převezme její MAC adresu
    • tím je zajištěn failover
    • nutnost nakonfigurovat switche(aby mohla byt změněna MAC adresa)
  • balance-alb (mode6 - adaptive load balancing)
    • load balancing (rozložení záťeže na více slabších strojů), odchozí provoz je distribuovan podle zatížní
    • pokud jedna siťová karta selže, další síťová karta převezme její MAC adresu
    • tím je zajišťován failover
    • rozdíl oproti mode5 je ten, že přepsání MAC zajistí arp dotaz(není třeba extra konfigurovat switche)

Info o bondu:

cat /proc/net/bonding/bond0

Nastavení:

vim /etc/sysconfig/network-scripts/ifcfg-eth1
    DEVICE="eth1"
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes
    #MTU=9000

vim /etc/sysconfig/network-scripts/ifcfg-eth2
    DEVICE="eth2"
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes
    #MTU=9000

vim /etc/sysconfig/network-scripts/ifcfg-bond0
    DEVICE=bond0
    ONBOOT=yes
    BOOTPROTO=none
    USERCTL=no
    #MTU=9000
    BONDING_OPTS="mode=802.3ad miimon=100 xmit_hash_policy=layer3+4"
    PERSISTENT_DHCLIENT=yes

Pro připojení a odpojení síťového zařizení do bondingu budeme (v debianu) potřebovat balíček ifenslave:

apt-get install ifenslave-2.6

Bonding se v /etc/network/interfaces nastaví třeba takto:

auto bond0
iface bond0 inet static
address 192.168.0.1
netmask 255.255.0.0
network 192.168.0.0
gateway 192.168.1.254
slaves eth0 eth1                  # ktere sitove karty budou zarazeny do bond0
bond_mode active-backup           # v jakem rezimu bude bonding pouzivan(backup, balancing)
bond_miimon 100                   # interval jak casto kontrolovat stav sitoveho media (sitovy kabel pripojen/odpojen)
bond_downdelay 200                # kolik milisekund se ma cekat nez se interface oznaci za spadly
bond_updelay 200                  # kolik milisekund se pocka, nez se nahodi pripojeny slave

Vypsat nastavený bonding:

cat /proc/net/bonding/bond0

Další příklad active-backup konfigurace (funkční):

auto ens1f0
iface ens1f0 inet manual
        bond-master     bond0
        #bond-primary   ens3f1
        bond-mode       active-backup
auto ens3f1
iface ens3f1 inet manual
        bond-master     bond0
        #bond-primary   ens3f1
        bond-mode       active-backup
auto bond0
iface bond0 inet static
        address         172.20.20.49
        netmask         255.255.255.0
        network         172.20.20.0
        broadcast       172.20.20.255
        gateway         172.20.20.1
        dns-nameserver  172.20.20.35
        dns-search      office.nic.cz
        bond-slaves     none
        bond-primary    ens3f1
        #bond-mode      active-backup
        bond-miimon     100
iface bond0 inet6 static
        address         2001:1488:fffe:0020::49
        netmask         64
        autoconf        0

Trvale nastavení bondingu, active-backup:

/etc/sysconfig/network-scripts/ifcfg-bond0
    DEVICE=bond0
    ONBOOT=yes
    #IPADDR=192.168.122.77
    #NETMASK=255.255.255.0
    #BOOTPROTO=static
    #BOOTPROTO=dhcp
    USERCTL=no
    #BONDING_OPTS="mode=1 miimon=200"

/etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=none
    HWADDR=00:16:3E:00:11:25
    ONBOOT=yes
    HOTPLUG=no
    MASTER=bond0
    SLAVE=yes
    USERCTL=no

/etc/sysconfig/network-scripts/ifcfg-eth1
    DEVICE="eth0"
    BOOTPROTO="NONE"
    HWADDR="00:16:3E:00:11:25"
    ONBOOT="yes"
    HOTPLUG="no"
    MASTER="bond0"
    SLAVE="yes"
    USERCTL="no"

Vypsat nastavený bonding:

cat /proc/net/bonding/bond0

Příklad nastavení agregace 3x10Gbps:

cat /etc/sysconfig/network-scripts/ifcfg-bond1
        DEVICE=bond1
        ONBOOT=yes
        BOOTPROTO=none
        USERCTL=no
        MTU=9000
        BONDING_OPTS="mode=4 xmit_hash_policy=1 lacp_rate=1"    # hash musi byt nastaven pro stranu, ktera iniciuje spojeni

cat /etc/sysconfig/network-scripts/ifcfg-eth3
        DEVICE="eth3"
        ONBOOT=yes
        MASTER=bond1
        SLAVE=yes
        MTU=9000

cat /etc/sysconfig/network-scripts/ifcfg-eth4
        DEVICE="eth4"
        ONBOOT=yes
        MASTER=bond1
        SLAVE=yes
        MTU=9000

cat /etc/sysconfig/network-scripts/ifcfg-eth5
        DEVICE="eth5"
        ONBOOT=yes
        MASTER=bond1
        SLAVE=yes
        MTU=9000

cat /proc/net/bonding/bond1
        Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

        Bonding Mode: IEEE 802.3ad Dynamic link aggregation
        Transmit Hash Policy: layer3+4 (1)
        MII Status: up
        MII Polling Interval (ms): 0
        Up Delay (ms): 0
        Down Delay (ms): 0

        802.3ad info
        LACP rate: fast
        Aggregator selection policy (ad_select): stable
        Active Aggregator Info:
                Aggregator ID: 3
                Number of ports: 3
                Actor Key: 33
                Partner Key: 33
                Partner Mac Address: 0c:c4:7a:1e:3e:03

        Slave Interface: eth3
        MII Status: up
        Speed: 10000 Mbps
        Duplex: full
        Link Failure Count: 0
        Permanent HW addr: 0c:c4:7a:1e:0a:2d
        Aggregator ID: 3
        Slave queue ID: 0

        Slave Interface: eth4
        MII Status: up
        Speed: 10000 Mbps
        Duplex: full
        Link Failure Count: 0
        Permanent HW addr: 0c:c4:7a:1e:07:e2
        Aggregator ID: 3
        Slave queue ID: 0

        Slave Interface: eth5
        MII Status: up
        Speed: 10000 Mbps
        Duplex: full
        Link Failure Count: 0
        Permanent HW addr: 0c:c4:7a:1e:07:e3
        Aggregator ID: 3
        Slave queue ID: 0

Vypíšeme si /proc/net/bonding/bond0:

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer3+4 (1)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
        Aggregator ID: 1
        Number of ports: 1                             # pouziva se jen 1 port, na servru asi neni zapnut LACP
        Actor Key: 17
        Partner Key: 1
        Partner Mac Address: 00:00:00:00:00:00         # pokud LACP nedetekuje port u protejsku, aktivuje jen 1 port
...                                                    # LACP by mel mit multicasti adresu 01:80:c2:00:00:02

  • tunel je spojení mezi dvěma PC, bývá tvořen pomocí specializovaných protokolů na úrovni IP(ipsec, gre), ale muže být tvořen i TCP spojením
  • používá se ke spojení vzdálených sití nebo pc do jedne homogenní sítě Vypis tunelu:
    ip tunnel show

  • zapouzdření IP komunikace do jiných IP paketů, tunelují se celé ip pakety
  • mají vlastní hlavičku, mohou podléhat jiné směrovací politice

Příklad.: PC A:

ip tunnel add pobocka1 mode ipip local <ip_tohoto_pc> remote <ip_vzdaleneho_pc>
ip link set pobocka1 up
ip addr add 10.0.0.1 dev pobocka1
ip route add 10.0.1.1 dev pobocka1

PC B:

ip tunnel add pobocka2 mode ipip local <ip_tohoto_pc> remote <ip_vzdaleneho_pc>
ip link set pobocka2 up
ip addr add 10.0.1.1 dev pobocka2
ip route add 10.0.0.1 dev pobocka2

Vivinulo Cisco, slouží k vytváření tunelu, které jsou uzpůsobené pro přenos paketu jednoho protokolu skrze jiný protokol. Nevyžaduje, aby přenášeným protokolem byl pouze ip protokol - je nezávislý na přenášených protokolech. Oproti IP-IP dokáže přenášet i multicasting a ipv6 (pozn. pokud dochází k zahazování icmp paketu, je třeba nastavit TTL u forwardu):

Příklad, PC A:

ip tunnel add pobocka1 mode gre local <ip_tohoto_pc> remote <ip_vzdaleneho_pc>
ip link set pobocka1 up
ip addr add 10.0.0.1 dev pobocka1
ip route add 10.0.1.1 dev pobocka1

PC B:

    ip tunnel add pobocka2 mode gre local <ip_tohoto_pc> remote <ip_vzdaleneho_pc>
    ip link set pobocka2 up
    ip addr add 10.0.1.1 dev pobocka2
    ip route add 10.0.0.1 dev pobocka2

Nastavení persistentního GRE tunnelu:

GW:
        auto eth1
                iface eth1 inet static
                        address <ivp4_lokalniho_interface_pro_eth>
                        netmask 255.255.255.0
        auto gre2
        iface gre2 inet tunnel
                mode gre
                address <ivp4_lokalniho_interface_pro_gre>
                dstaddr <ivp4_vzdaleneho_interface_pro_gre>
                local <ivp4_lokalniho_interface_pro_eth>
                endpoint <ivp4_vzdaleneho_interface_pro_eth>
                netmask 255.255.255.0
                ttl 255
        iface gre2 inet6 static
                address 2002:c000:203::1
                netmask 64
PC1:    ... (to same) ...
        iface gre2 inet6 static
                address 2002:c000:203::2
                netmask 64
                up ip -6 route add default via 2002:c000:203::1         # akorat se prida GW
                down ip -6 route del default via 2002:c000:203::1
/etc/sysctl.conf
        net.ipv6.conf.default.forwarding = 1                    # samozrejme pak pustit "sysctl -p"
        net.ipv6.conf.all.forwarding = 1
        net.ipv4.ip_forward = 1
        #net.nf_conntrack_max = 500000
        #net.ipv6.conf.all.proxy_ndp = 1
        #net.ipv6.bindv6only = 1
        #net.ipv4.conf.default.proxy_arp = 0
        #net.ipv4.conf.all.rp_filter = 1
        #net.ipv4.conf.default.send_redirects = 1
        #net.ipv4.conf.all.send_redirects = 0

Vytváří virtuální rozhraní jmenem dummy (na které můžeme v rámci systému zavěsit napřiklad virtualni server atp..). Do jádra zavedeme ovladač dummy:

modprobe dummy                              # pres ifconfig vidime ze v systemu pribylo rozhrani dummy0
modprobe dummy numdummies=4                 # pokud techto interefejsu potrebujeme vic

Zařízení můžeme jednoduše přejmenovat:

ip link set name eth10 dev dummy0           # prejmenovani na eth10

Resolver překládá ipadresy na doménová jména a zpět /etc/resolv.conf:

search example.com                          # pri pouzivani "ne plnne kvalifikovanych jmen" se bude prohledavat i s timto pridomkem
nameserver 10.0.0.138                       # nameserver bude nase vychozi brana
nameserver 8.8.8.8                          # nameserver dela Google

Zjištění linku:

ethtool eth0                                # dulezity prikaz celkem
ethtool -i eth0                             # zjisteni modulu, pokud se zasekne sit je dobra kombinace, dmesg, rmmod <modul>, modprobe <modul>

Program iperf se lze použít pro test rychlost spojení mezi servrem a klientem (ukáže rychlost připojení, připadně dropy):

iperf -s -p 12345                                           # na servru tcp
iperf -c <adresa-servru> -p 12345 -t 60 -i1                 # klient tcp
iperf -s -u -p 10000                                        # na servru udp
iperf -p 10000 -t 60 -i1 -c xrootd5 -u -b10g                # klient udp

Zapnutí předavaní IPv4 packetu (ip_forward) do příštího restartu:

echo "1" > /proc/sys/net/ipv4/ip_forward

Persistentně to lze zařídit přes /etc/sysctl.conf:

net.ipv4.ip_forward=1
sysctl -p

Pak ještě nastavujeme masquaradu:

iptables -F POSTROUTING -t nat                              # vymazani aktualni tabulky nat(pokud nejaka byla)
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE        # maskarada preklada adresu na adresu natu
iptables -nvL -t nat                                        # vypise natovaci tabulku iptables

Rezervované adresy v IPv4 sítích mají tyto rozsahy:

-----------------------------------------------------------
| Network | Netmask       | Network Addresses             |
| Class   |               |                               |
-----------------------------------------------------------
|    A    | 255.0.0.0     | 10.0.0.0    - 10.255.255.255  |
|    B    | 255.240.0.0   | 172.16.0.0  - 172.31.255.255  |
|    C    | 255.255.255.0 | 192.168.0.0 - 192.168.255.255 |
-----------------------------------------------------------

Existují 2 nástroje mii-tool a novější ethtool (syntax je trochu rozdílná). Některé drivery nemusí pracovat s mii-tool, jiné naopak s ethtool:

mii-tool -F 100baseTX-FD eth0
mii-tool -F 100baseTX-HD eth0
mii-tool -F 10baseT-FD eth0
mii-tool -F 10baseT-HD eth0

ethtool -s eth0 speed 100 duplex full autoneg off
ethtool -s eth0 speed 100 duplex half autoneg off
ethtool -s eth0 speed 10 duplex full autoneg off
ethtool -s eth0 speed 10 duplex half autoneg off

IP kalkulačka, která ukazuje bližší nastavení IP protokolu:

sipcalc -r 2001:DB8:AB::1
    [IPV6 DNS]
    Reverse DNS (ip6.arpa)  -
    1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.a.0.0.8.b.d.0.1.0.0.2.ip6.arpa.

sipcalc 2001:15c0:65ff::0/48
    [ipv6 : 2001:15c0:65ff::0/48] - 0
    [IPV6 INFO]
    Expanded Address        - 2001:15c0:65ff:0000:0000:0000:0000:0000
    Compressed address      - 2001:15c0:65ff::
    Subnet prefix (masked)  - 2001:15c0:65ff:0:0:0:0:0/48
    Address ID (masked)     - 0:0:0:0:0:0:0:0/48
    Prefix address          - ffff:ffff:ffff:0:0:0:0:0
    Prefix length           - 48
    Address type            - Aggregatable Global Unicast Addresses
    Network range           - 2001:15c0:65ff:0000:0000:0000:0000:0000 -
                              2001:15c0:65ff:ffff:ffff:ffff:ffff:ffff

sipcalc 192.168.22.1/23
    [ipv4 : 192.168.22.1/23] - 0
    [CIDR]
    Host address            - 192.168.22.1
    Host address (decimal)  - 3232241153
    Host address (hex)      - C0A81601
    Network address         - 192.168.22.0
    Network mask            - 255.255.254.0
    Network mask (bits)     - 23
    Network mask (hex)      - FFFFFE00
    Broadcast address       - 192.168.23.255
    Cisco wildcard          - 0.0.1.255
    Addresses in network    - 512
    Network range           - 192.168.22.0 - 192.168.23.255
    Usable range            - 192.168.22.1 - 192.168.23.254

sipcalc -a -6 2001:7b8:39c::/48                                                             # more info
    [ipv6 : 2001:7b8:39c::/48] - 0
    [IPV6 INFO]
    Expanded Address        - 2001:07b8:039c:0000:0000:0000:0000:0000
    Compressed address      - 2001:7b8:39c::
    Subnet prefix (masked)  - 2001:7b8:39c:0:0:0:0:0/48
    Address ID (masked)     - 0:0:0:0:0:0:0:0/48
    Prefix address          - ffff:ffff:ffff:0:0:0:0:0
    Prefix length           - 48
    Address type            - Aggregatable Global Unicast Addresses
    Network range           - 2001:07b8:039c:0000:0000:0000:0000:0000 -
                              2001:07b8:039c:ffff:ffff:ffff:ffff:ffff
    [V4INV6]
    Expanded v4inv6 address - 2001:07b8:039c:0000:0000:0000:0.0.0.0
    Compr. v4inv6 address   - 2001:7b8:39c::0.0.0.0
    [IPV6 DNS]
    Reverse DNS (ip6.arpa)  -
    0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.c.9.3.0.8.b.7.0.1.0.0.2.ip6.arpa.

sipcalc -6 2A00:1450::/48 -S 64 | grep Network | head -n 5
    Network                 - 2a00:1450:0000:0000:0000:0000:0000:0000 -
    Network                 - 2a00:1450:0000:0001:0000:0000:0000:0000 -
    Network                 - 2a00:1450:0000:0002:0000:0000:0000:0000 -
    Network                 - 2a00:1450:0000:0003:0000:0000:0000:0000 -
    Network                 - 2a00:1450:0000:0004:0000:0000:0000:0000 -

sipcalc -6 2A00:1450::/48 -S 64 | grep Network | tail -n 5
    Network                 - 2a00:1450:0000:fffb:0000:0000:0000:0000 -
    Network                 - 2a00:1450:0000:fffc:0000:0000:0000:0000 -
    Network                 - 2a00:1450:0000:fffd:0000:0000:0000:0000 -
    Network                 - 2a00:1450:0000:fffe:0000:0000:0000:0000 -
    Network                 - 2a00:1450:0000:ffff:0000:0000:0000:0000 -

sipcalc -6 2A00:1450::/48 -S 64 | grep Network | wc -l
    65536

sipcalc -a 192.168.0.1/28
    [ipv4 : 192.168.0.1/28] - 0
    [Classfull]
    Host address            - 192.168.0.1
    Host address (decimal)  - 3232235521
    Host address (hex)      - C0A80001
    Network address         - 192.168.0.0
    Network class           - C
    Network mask            - 255.255.255.0
    Network mask (hex)      - FFFFFF00
    Broadcast address       - 192.168.0.255
    [CIDR]
    Host address            - 192.168.0.1
    Host address (decimal)  - 3232235521
    Host address (hex)      - C0A80001
    Network address         - 192.168.0.0
    Network mask            - 255.255.255.240
    Network mask (bits)     - 28
    Network mask (hex)      - FFFFFFF0
    Broadcast address       - 192.168.0.15
    Cisco wildcard          - 0.0.0.15
    Addresses in network    - 16
    Network range           - 192.168.0.0 - 192.168.0.15
    Usable range            - 192.168.0.1 - 192.168.0.14
    [Classfull bitmaps]
    Network address         - 11000000.10101000.00000000.00000000
    Network mask            - 11111111.11111111.11111111.00000000
    [CIDR bitmaps]
    Host address            - 11000000.10101000.00000000.00000001
    Network address         - 11000000.10101000.00000000.00000000
    Network mask            - 11111111.11111111.11111111.11110000
    Broadcast address       - 11000000.10101000.00000000.00001111
    Cisco wildcard          - 00000000.00000000.00000000.00001111
    Network range           - 11000000.10101000.00000000.00000000 -
                              11000000.10101000.00000000.00001111
    Usable range            - 11000000.10101000.00000000.00000001 -
                              11000000.10101000.00000000.00001110
    [Networks]
    Network                 - 192.168.0.0     - 192.168.0.15 (current)
    Network                 - 192.168.0.16    - 192.168.0.31
    Network                 - 192.168.0.32    - 192.168.0.47
    Network                 - 192.168.0.48    - 192.168.0.63
    Network                 - 192.168.0.64    - 192.168.0.79
    Network                 - 192.168.0.80    - 192.168.0.95
    Network                 - 192.168.0.96    - 192.168.0.111
    Network                 - 192.168.0.112   - 192.168.0.127
    Network                 - 192.168.0.128   - 192.168.0.143
    Network                 - 192.168.0.144   - 192.168.0.159
    Network                 - 192.168.0.160   - 192.168.0.175
    Network                 - 192.168.0.176   - 192.168.0.191
    Network                 - 192.168.0.192   - 192.168.0.207
    Network                 - 192.168.0.208   - 192.168.0.223
    Network                 - 192.168.0.224   - 192.168.0.239
    Network                 - 192.168.0.240   - 192.168.0.255

Vypsání konfigurace network-manageru:

nmcli connection show "CZ.NIC-VPN"

Zapnuti trace debugu>

nmcli general logging level info

Arping můžeme použít k testování duplicitních IP adres v síti:

#!/usr/bin/env bash
echo "Starting duplicate IP detection with sudo arping!"
for i in {1..254};
do
sudo arping -q -d -c 2 192.168.1.$i; [ $? -ne 0 ] && echo "192.168.1.$i duplicate"; 
done