Réseau
De Banane Atomic
Aller à la navigationAller à la recherche
Réseau
La suite d'outils "net-tools" est remplacé par "iproute2" : guide de transition |
net-tools | iproute2 | |
---|---|---|
adresses ip | ifconfig | ip a |
addresses MAC | ip link show | |
table de routage | route | ip route |
cache ARP | arp | ip neigh |
# url externe du routeur curl ipinfo.io |
DHCP
# listez les noms des périphériques réseau ls /sys/class/net # activez le service DHCP pour le périphériques réseau enp3s0 dhcpcd enp3s0 # activez au démarrage le service DHCP pour le périphériques réseau enp3s0 systemctl enable dhcpcd@enp3s0 |
Disable ipv6
/etc/dhcpcd.conf |
noipv6rs noipv6 |
Fallback
/etc/dhcpcd.conf |
# define static profile profile static_eth0 static ip_address=192.168.0.x/24 static routers=192.168.0.y static domain_name_servers=192.168.0.y # fallback to static profile on eth0 interface eth0 fallback static_eth0 |
Ne semble pas marcher |
IP statique avec systemd-networkd
/etc/systemd/network/10-static-ethernet.network |
[Match] Name=enp3s0 [Network] Address=192.168.0.1/24 Gateway=192.168.0.254 # disable ipv6 LinkLocalAddressing=ipv4 IPv6AcceptRA=no |
# activer l'ip statique au démarrage sudo systemctl enable systemd-networkd.service # désactiver DHCP au démarrage sudo systemctl disable dhcpcd@enp3s0 |
Routing
Route
Définit la passerelle permettant d'accéder à un réseau.
Les ip des passerelles appartiennent toujours aux réseaux du routeur, sinon elles ne sont pas accessibles.
# show main routing table entries ip route # show local routing table entries ip route show table local # show all routing table entries ip route show table all # show where the package would go ip route get [ip] # add new route ip route add 192.168.0.0/24 dev eth0 # add default route ip route add default via 192.168.0.254 # change existing default route ip route chg default via 192.168.0.254 # delete default route ip route del default |
Routing table
Il y a 255 tables. Il est possible de donner un nom à une table:
/etc/iproute2/rt_tables |
# reserved values 255 local # ne doit pas être modifiée à la main, gérée par le noyau 254 main 253 default 0 unspec # new table 199 mytable |
Rule
Set which routing table to use regarding origin or destination
# list the rules ip rule # default rules # 0: from all lookup local # apply local routing table first # 32766: from all lookup main # apply main routing table at the end # 32767: from all lookup default # apply default routing table at the very end # use the table table-name for traffic from ip ip rule add from <ip> lookup <table-name> # delete the above rule ip rule del from <ip> lookup <table-name> |
Wifi
Installation
# outils de connexion pacman -S wireless_tools # pour les réseaux encryptés avec une clé WPA pacman -S wpa_supplicant |
Connexion
# activer l'interface wlan0 ip link set wlan0 up # désactiver l'interface wlan0 ip link set wlan0 down # lister les points d'accès (avec sudo) iwlist wlan0 scan | less # connexion sans clé iwconfig wlan0 essid "MonESSID" # obtention d'une adresse ip dhcpcd wlan0 |
Pilote
# identifier la carte wifi lspci | grep -i net |
Normalement udev charge automatiquement le pilote de la carte wifi.
# tester l'existance de l'interface wlan0 ip link |
Normes
802.11 | Bande de fréquence | Débit théorique maximal | Portée | Congestion | Largeur canal | MIMO (Multiple-Input Multiple-Output) |
---|---|---|---|---|---|---|
a | 5 GHz | 54 Mbps | Faible | Faible | 20 MHz | Non |
b | 2,4 GHz | 11 Mbps | Correcte | Elevée | 20 MHz | Non |
g | 2,4 GHz | 54 Mbps | Correcte | Elevée | 20 MHz | Non |
n | 2,4 GHz et 5 GHz | De 72 à 450 Mbps | Bonne | Elevée et faible | 20 ou 40 MHz | Oui |
ac | 5 GHz | De 433 à 1300 Mbps | Bonne | Faible | 40 ou 80 MHz | Oui |
Sécurité
WEP | Utilisation d'une clé de 26 caractères hexadécimaux. Ne permet pas l'utilisation du WiFi n mais seulement du WiFi b/g |
WPA-PSK (TKIP) | Utilisation d'une clé d'au moins 8 caractères (alphanumérique et caractères spéciaux). Ce mode ne permet pas l'utilisation du WiFi n mais seulement du WiFi b/g |
WPA2-PSK (AES) | Utilisation d'une clé d'au moins 8 caractères (alphanumérique et caractères spéciaux). |
Obtenir le nom du PC depuis son IP
host 192.168.0.x # host est installé avec le paquet bind-tools nbtstat -a 192.168.0.x |
WOL
Client
wol -i 192.168.0.255 AA:AA:AA:AA:AA:AA |
Utilisez l'adresse IP de broadcast et non celle de la machine cible |
Service
Pas de WOL entre sous-réseaux (VPN par exemple) |
# installer ethtool si besoin # lister les interfaces: ls /sys/class/net sudo ethtool [interface] # Supports Wake-on: pumbg # Wake-on: d (disabled) # Wake-on doit être à g (magic packet activity) sudo ethtool -s [interface] wol g # test d'écoute du port 9 avec netcat sudo nc --listen --udp --local-port=9 --hexdump sudo nc -l -u -p 9 -x |
Rendre la modification permanente
/etc/systemd/system/wol@.service |
[Unit] Description=Wake-on-LAN for %i Requires=network.target After=network.target [Service] ExecStart=/usr/bin/ethtool -s %i wol g Type=oneshot [Install] WantedBy=multi-user.target |
systemctl start wol@enp3s0.service systemctl enable wol@enp3s0.service |
IPv6
xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx Forme contractée xxxx:xxxx:x:xxxx::yy xxxx:xxxx:000x:xxxx:0000:0000:0000:00yy Mask x:x:x:x::0/112 → x:x:x:x:0:0:0:0 - x:x:x:x:0:0:0:ffff x:x:x:x::0/96 → x:x:x:x:0:0:0:0 - x:x:x:x:0:0:ffff:ffff x:x:x:x::0/80 → x:x:x:x:0:0:0:0 - x:x:x:x:0:ffff:ffff:ffff x:x:x:x::0/80 → x:x:x:x:0:0:0:0 - x:x:x:x:0:ffff:ffff:ffff x:x:x:x::0/64 → x:x:x:x:0:0:0:0 - x:x:x:x:ffff:ffff:ffff:ffff
traceroute IPv6 pour obtenir l'IPv6 à partir de l'url.
NAT Loopback / hairpinning
Fonctionnalité qui permet:
- depuis un périphérique en LAN (ex: mon pc)
- d'accéder à un autre périphérique sur le même LAN (ex: mon serveur web)
- en utilisant l'url externe du routeur (ex: http://www.mon-serveur.fr)
Sans le NAT Loopback on se retrouve sur le site web d'administration du routeur au lieu du site web de mon serveur.
Obtenir une adresse depuis une IP
Calcul de masques et de ranges d'IP
DNS
/etc/dhcpcd.conf |
static domain_name_servers=192.168.0.X 192.168.0.Y |
/etc/resolv.conf |
# Generated by dhcpcd from [interface].dhcp nameserver 192.168.0.X nameserver 192.168.0.Y |