Statische IP: Unterschied zwischen den Versionen
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 | 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/ | 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/ | {{hc|/etc/conf.d/net-conf-eth0| | ||
address=192.168.1.2 | address=192.168.1.2 | ||
netmask=24 | netmask=24 | ||
broadcast=192.168.1.255 | broadcast=192.168.1.255 | ||
gateway=192.168.1.1}} | gateway=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=Network startup | Description=Network startup (%i) | ||
Wants=network.target | Wants=network.target | ||
Before=network.target | Before=network.target | ||
BindsTo=sys-subsystem-net-devices-%i.device | |||
After=sys-subsystem-net-devices-%i.device | |||
[Service] | [Service] | ||
Type=oneshot | Type=oneshot | ||
RemainAfterExit=yes | RemainAfterExit=yes | ||
EnvironmentFile=/etc/conf.d/ | EnvironmentFile=/etc/conf.d/net-conf-%i | ||
ExecStart=/sbin/ip link set dev | ExecStart=/sbin/ip link set dev %i up | ||
ExecStart=/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev | ExecStart=/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev %i | ||
ExecStart=/sbin/ip route add default via ${gateway} | ExecStart=/sbin/ip route add default via ${gateway} | ||
ExecStop=/sbin/ip addr flush dev | ExecStop=/sbin/ip addr flush dev %i | ||
ExecStop=/sbin/ip link set dev | ExecStop=/sbin/ip link set dev %i down | ||
[Install] | [Install] | ||
WantedBy=multi-user.target}} | WantedBy=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