Comandes de xarxa de Linux¶
Capa d'enllaç¶
Mostrar interfícies:
Activar/desactivar una interfície:
Canviar nom o adreça a la interfície manualment:
ip link set eth0 down
ip link set eth0 address 00:11:22:33:44:55
ip link set eth0 name lan
ip link set eth0 up
Mostrar opcions físiques de la interfície:
Mostrar velocitat de la interfície:
Mòdul del kernel que utilitza la interfície:
Mostrar estadístiques, paquets d'error, col·lisions:
Vlans¶
Afegir interfície virtual amb vlan etiquetada 101 a eth0:
Bonding¶
ip link set eth1 down
ip link set eth2 down
modprobe -r bonding
modprobe bonding mode=4
# xmit_hash_policy per defecte és 0 (hash amb adreça mac)
# modprobe bonding mode=4 xmit_hash_policy=2
ip link set eth1 master bond0
ip link set eth2 master bond0
ip link set eth1 up
ip link set eth2 up
ip link set bond0 up
cat /proc/net/bonding/bond0
Provar velocitat de xarxa amb iperf¶
L'eina tradicional és iperf, amb velocitats superiors a 1Gbps la nova eina amb més opcions iperf3 és millor
Algunes opcions útils:
-t per augmentar la durada de la prova
Provar velocitat de xarxa amb netperf¶
Prova realista amb tcp en ambdues direccions de rendiment.
- https://github.com/HewlettPackard/netperf
Iniciar netserver en un host i executar script al client:
vi netperf-test.sh
for i in 1
do
netperf -H 10.1.2.102 -t TCP_STREAM -B "outbound" -i 10 -P 0 -v 0 \
-- -s 256K -S 256K &
netperf -H 10.1.2.102 -t TCP_MAERTS -B "inbound" -i 10 -P 0 -v 0 \
-- -s 256K -S 256K &
done
S'executarà en segon pla i mostrarà els resultats a la consola quan acabi.
Pots comprovar el rendiment de xarxa en temps real durant la prova utilitzant iftop:
Ponts¶
Crear pont:
Assignar interfícies al pont:
Per mostrar interfícies membres d'un pont i taula de ports i adreça mac:
Capturar paquets¶
tcpdump: eina clàssica per fer captures
tshark: wireshark en línia de comandes, filtres de captura a [https://wiki.wireshark.org/CaptureFilters]
- [ -i ] Interfície d'entrada
- [ -w ] Fitxer de sortida
- [ -r ] Llegir opcions del fitxer
- [ -c ] limitar paquets capturats
- [ -a duration:X] segons quan parar la captura
- [ -Y ] Filtres de Wireshark
Exemples:
tshark -i enp3s0 -w /tmp/out.pcap -c 10
tshark -i enp3s0 -w /tmp/out.pcap -a duration:4
tshark -r /tmp/out.pcap -w /tmp/web.pcap -Y "http"
tshark -i enp3s0 -w /tmp/ping.pcap "host 8.8.8.8"
tshark -i enp3s0 -w /tmp/web.pcap "port 80"
Per mostrar a pantalla els paquets amb versió estesa (-x)
Capa de Xarxa¶
Mostrar adreça ip, comanda curta de ip address show:
Mostrar estadístiques (tx,rx,error,dropped)
Adreça ip fixa:¶
Eliminar totes les adreces d'una interfície (flush):
Associar una ip a una interfície (no oblidar la màscara):
Es poden associar més d'una ip a una interfície i eliminar una en concret:
ip a a 192.168.100.10/24 dev eth0
ip a a 192.168.200.11/27 dev eth0
ip a d 192.168.200.11/27 dev eth0
Ips dinàmiques:¶
Alliberar la ip actual:
Això hauria d'haver alliberat la ip actual i el dimoni hauria d'haver finalitzat. En cas que no puguem demanar una nova ip no ens queda altra que matar aquest procés amb:
Per demanar una nova ip en qualsevol interfície:
I en una interfície en concret:
Si vols veure més detall de la concessió d'ip:
Taula ARP¶
L'ordre tradicional arp ha quedat centralitzada en la utilitat ip amb l'opció ip neigh
Per veure la taula d'arp actual:
Esborrar taula d'arp:
Afegir entrada arp permanent:
Veure només les entrades reachable:
Encaminament¶
Veure les rutes amb ip route show:
Per eliminar totes les rutes "ip route flush":
En afegir una adreça ip a una interfície, s'afegeix una ruta directa que informa que per anar a la xarxa d'aquesta adreça ip es va directament a través de la interfície sense necessitat de passar per cap router:
Afegir porta d'enllaç per defecte:
Eliminar porta d'enllaç per defecte:
Afegir ruta estàtica:
Activar bit de forwarding perquè treballi com a router:
Resolució de noms DNS¶
Es consulta la resolució al fitxer /etc/hosts, que conté una línia per al nom localhost, es poden afegir línies per resoldre noms sense utilitzar un servidor dns:
Per resoldre amb servidors dns linux consulta el contingut del fitxer /etc/resolv.conf
Es consulta la línia que comença amb nameserver seguida de la ip del servidor dns que volem usar. Si en renovar la ip dinàmica el servidor dhcp ofereix un servidor dns se sobreescriu aquest fitxer
Per forçar la resolució de noms a través d'un servidor dns de forma manual:
Emmascarament d'ips¶
Emmascarar tot el trànsit que surt cap a internet per eth0
Consultar iptables:
Proves de connectivitat¶
Comprovar respostes protocol ARP:
Fer ping indefinidament (per acabar ctrl + C)
Limitar nombre de pings
fping: Fer pings a diversos equips d'una xarxa:
nmap
Sondeig ping:
Sondeig de port 22Traceroute i geolocalitzar ips¶
traceroute: Eina històrica per descobrir rutes
mtr: Si vols més informació, estadístiques i detall de geolocalització d'ips
dnf -y install mtr GeoIP GeoIP-GeoLite-data GeoIP-GeoLite-data-extra
mtr -n --report www.gencat.cat
geoiplookup 72.52.92.222
Capa de transport¶
nmap i sondeig de ports¶
Sondeig de ports TCP típics:
Sondeig d'un port concret
Sondeig de rang de ports
Sondeig de ports encara que el ping no contesti, afegint l'opció -PN
Sondeig de port UDP:
netstat¶
nombre de ports tcp i udp escoltant amb el programa associat:
Les opcions es poden combinar sense importar l'ordre en què van les lletres, les típiques de netstat són: * -u => ports udp * -t => ports tcp * -p => programa que està usant aquesta connexió i pid (només ho pots veure si ets root) * -n => mostra el número de port * -a => totes les connexions * -l => ports en escolta
Totes les connexions tcp: