Statische IP: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Shibumi (Diskussion | Beiträge)
Veita (Diskussion | Beiträge)
Parametrisierte Dienstbeschreibung für statische IP.
Zeile 1: Zeile 1:
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 vverwendet. Zudem muss der Rechner nicht auf die Zuweisung einer IP-Adresse durch den DHCP-Server warten, sondern die Netzwerkschnittstelle kann direkt eingerichtet werden.
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 <code>ip</code> aus dem Paket {{Paket|iproute2}}.
Für die Verwaltung der Netzwerkschnittstellen gibt es das Tool <code>ip</code> aus dem Paket {{Paket|iproute2}}.
Zeile 25: Zeile 25:


==IP-Adresse zu vergeben==
==IP-Adresse zu vergeben==
Um eine IP-Adresse vergeben zu können braucht man  
Um eine IP-Adresse vergeben zu können braucht man
* eine freie IP-Adresse
* eine freie IP-Adresse
* die ''Subnetzmaske''
* die ''Subnetzmaske''
Zeile 51: Zeile 51:


===Zuweisen beim Booten===
===Zuweisen beim Booten===
Damit die IP-Adresse bei jedem Start des Systems vergeben wird erstelle die Datei <code>/etc/conf.d/network</code>. In dieser Datei werden die Einstellungen zu dem Netzwerkgerät gespeichert.
Damit die IP-Adresse bei jedem Start des Systems vergeben wird, erstelle die Datei <code>/etc/conf.d/net-conf-gerätename</code>, also z.B <code>/etc/conf.d/net-conf-eth0</code>. In dieser Datei werden die Einstellungen zu dem Netzwerkgerät gespeichert.
{{hc|/etc/conf.d/network|
{{hc|/etc/conf.d/net-conf-eth0|
interface&#61;eth0
address&#61;192.168.1.2
address&#61;192.168.1.2
netmask&#61;24
netmask&#61;24
broadcast&#61;192.168.1.255
broadcast&#61;192.168.1.255
gateway&#61;192.168.1.1}}
gateway&#61;192.168.1.1}}
Danach erstelle die Datei <code>/etc/systemd/system/network.service</code>. Dies ist die Servicebeschreibung für systemd.
Danach erstelle die Datei <code>/etc/systemd/system/network@.service</code>. Dies ist die Servicebeschreibung für systemd.
{{hc|/etc/systemd/system/network.service|
{{hc|/etc/systemd/system/network@.service|
[Unit]
[Unit]
Description&#61;Network startup
Description&#61;Network startup (%i)
Wants&#61;network.target
Wants&#61;network.target
Before&#61;network.target
Before&#61;network.target
BindsTo&#61;sys-subsystem-net-devices-%i.device
After&#61;sys-subsystem-net-devices-%i.device


[Service]
[Service]
Type&#61;oneshot
Type&#61;oneshot
RemainAfterExit&#61;yes
RemainAfterExit&#61;yes
EnvironmentFile&#61;/etc/conf.d/network
EnvironmentFile&#61;/etc/conf.d/net-conf-%i
ExecStart&#61;/sbin/ip link set dev ${interface} up
ExecStart&#61;/sbin/ip link set dev %i up
ExecStart&#61;/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev ${interface}
ExecStart&#61;/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev %i
ExecStart&#61;/sbin/ip route add default via ${gateway}
ExecStart&#61;/sbin/ip route add default via ${gateway}
ExecStop&#61;/sbin/ip addr flush dev ${interface}
ExecStop&#61;/sbin/ip addr flush dev %i
ExecStop&#61;/sbin/ip link set dev ${interface} down
ExecStop&#61;/sbin/ip link set dev %i down


[Install]
[Install]
WantedBy&#61;multi-user.target}}
WantedBy&#61;multi-user.target}}
Jetzt noch den Service für systemd auf ''enabled'' stellen
Jetzt noch den Service für systemd auf ''enabled'' stellen
   systemctl enable network
   systemctl enable network@eth0.service


==Namensauflösung==
==Namensauflösung==

Version vom 12. Januar 2015, 22:48 Uhr

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-Addresse
  • die IP-Adresse des Gateways

Bei kleinen privaten Netzen kann man 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

Siehe auch

https://wiki.archlinux.org/index.php/Network_Configuration