Statische IP
Eine statische IP-Adresse ist meist für Rechner relevant, welche immer im selben Netzwerk sind und somit keine Änderung der Netzwerkadressen, Router oder ähnlichem zu erwarten sind. Besonders bei Servern, die eigene Dienste anbieten, wird für gewöhnlich eine feste IP-Adresse verwendet. Zudem muss der Rechner nicht auf die Zuweisung einer IP-Adresse durch den DHCP-Server warten, sondern die Netzwerkschnittstelle kann direkt eingerichtet werden.
Für die Verwaltung der Netzwerkschnittstellen gibt es das Tool ip
aus dem Paket iproute2.
Netzwerkschnittstelle ermitteln
Zuerst muss die Netzwerkschnittstelle ermittelt werden:
ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 11:11:11:11:11:11 brd ff:ff:ff:ff:ff:ff
Hinweis: Die Netzwerkschnittstelle heißt hier eth0
, der Name kann abweichen. In diesem Beispiel wird weiterhin diese Bezeichnung verwendet.
Netzwerkschnittstelle (de)aktivieren
Nachdem man weiß wie die Netzwerkschnittstelle heißt muss diese aktiviert werden
ip link set eth0 up
ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 11:11:11:11:11:11 brd ff:ff:ff:ff:ff:ff
Deaktivieren kann man die Schnittstelle mittels
ip link set eth0 down
ip link show eth0
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000 link/ether 11:11:11:11:11:11 brd ff:ff:ff:ff:ff:ff
IP-Adresse zu vergeben
Um eine IP-Adresse vergeben zu können braucht man
- eine freie IP-Adresse
- die Subnetzmaske
- die Broadcast-Adresse
- die IP-Adresse des Gateways
Viele Router für den Heimanwenderbereich benutzen 192.168.*.* für Client-IPs. Entsprechend kann man bei kleinen privaten Netzen eine Adresse in 192.168.*.* nehmen. Die dazu passende Subnetzmaske lautet 255.255.255.0 und die Broadcast-Adresse 192.168.*.255 (ergibt einen Adressbereich von 192.168.*.1 bis 192.168.*.254). Das Gateway hat meist die Adresse 192.168.*.1.
temporäres Zuweisen
Die IP-Adresse lässt sich nun ganz einfach in der Konsole zuweisen.
ip addr add 192.168.1.2/24 dev eth0
Danach muss das Gateway zugewiesen werden.
ip route add default via 192.168.1.1
Diese Einstellungen gehen beim Ausschalten verloren.
Um zu testen ob die Einstellungen korrekt sind kann man nun mit ping
die Verbindung testen:
ping -c3 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.419 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.674 ms 64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.697 ms --- 192.168.1.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.419/0.596/0.697/0.129 ms
Zuweisen beim Booten
Damit die IP-Adresse bei jedem Start des Systems vergeben wird, erstelle die Datei /etc/conf.d/net-conf-gerätename
, also z.B /etc/conf.d/net-conf-eth0
. In dieser Datei werden die Einstellungen zu dem Netzwerkgerät gespeichert.
/etc/conf.d/net-conf-eth0
address=192.168.1.2 netmask=24 broadcast=192.168.1.255 gateway=192.168.1.1
Danach erstelle die Datei /etc/systemd/system/network@.service
. Dies ist die Servicebeschreibung für systemd.
/etc/systemd/system/network@.service
[Unit] Description=Network startup (%i) Wants=network.target Before=network.target BindsTo=sys-subsystem-net-devices-%i.device After=sys-subsystem-net-devices-%i.device [Service] Type=oneshot RemainAfterExit=yes EnvironmentFile=/etc/conf.d/net-conf-%i ExecStart=/sbin/ip link set dev %i up ExecStart=/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev %i ExecStart=/sbin/ip route add default via ${gateway} ExecStop=/sbin/ip addr flush dev %i ExecStop=/sbin/ip link set dev %i down [Install] WantedBy=multi-user.target
Jetzt noch den Service für systemd auf enabled stellen
systemctl enable network@eth0.service
Namensauflösung
Damit Domainnamen auch in IP-Adressen aufgelöst werden können benötigt man noch einen Domain Name Server. Siehe dazu den Artikel resolv.conf