Crmgo Blog

Netzwerkeinstellungen in CentOS 7

Netzwerkeinstellungen in CentOS 7

Zunächst prüfen wir die Einstellungen der Netzwerkkarten: Aus irgendeinem Grund wurde dieses Utility aus dem Standard-Distributionsumfang ausgeschlossen! Das Problem lässt sich durch die Installation von net-tools lösen: Falls keine Installation von net-tools möglich ist, gehen wir wie folgt vor: Deaktivieren und entfernen Sie NetworkManager. Auf Workstations kann dieses Tool zwar …

Netzwerkeinstellungen in CentOS 7

Zunächst prüfen wir die Einstellungen der Netzwerkkarten:

# ifconfig
-bash: ifconfig: command not found

Aus irgendeinem Grund wurde dieses Utility aus dem Standard-Distributionspaket entfernt! Das Problem lässt sich durch die Installation von net-tools lösen:

yum -y install net-tools.x86_64

Falls keine Installation von net-tools möglich ist, können Sie wie folgt vorgehen:

#ip addr
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
    valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:15:5d:01:03:06 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.5/24 brd 192.168.1.255 scope global eth0
    valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe01:306/64 scope link 
    valid_lft forever preferred_lft forever
[root@localhost ~]# 

NetworkManager deaktivieren und entfernen.

Auf Workstations kann dieses Tool nützlich sein, aber auf einem Server kann es zu unnötigen Komplikationen führen:

# systemctl stop NetworkManager.service
# systemctl disable NetworkManager.service
# yum remove dnsmasq -y
# systemctl enable network.service
# systemctl restart network.service

Netzwerkschnittstellen konfigurieren:
#nano /etc/sysconfig/network-scripts/ifcfg-eth0

HWADDR=00:15:5D:01:03:06
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes  
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=3c4a4755-fb37-46d4-9321-e58b1719d36c
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.5
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

Die zweite Schnittstelle konfigurieren:

MAC-Adresse der zweiten Netzwerkschnittstelle anzeigen:
#ip addr

#cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-eth1
#nano /etc/sysconfig/network-scripts/ifcfg-eth1

HWADDR=00:15:5D:01:03:07
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=no
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=10.0.0.2
NETMASK=255.255.255.0

Netzwerkdienste neu starten:
#systemctl restart network.service

Um Netzwerkeinstellungen über DHCP zu erhalten, entfernen Sie folgende Zeile aus ifcfg-eth01:

IPADDR=192.168.1.5
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

In der Option BOOTPROTO „dhcp“ angeben.
Netzwerkdienste neu starten:
#systemctl restart network.service

Beschreibung der Optionen in der Konfigurationsdatei ifcfg-eth01

BOOTPROTO – тип получения сетевым интерфейсом сетевого адреса. Бывает static, dhcp, bootp.
BROADCAST – адрес широковещательной рассылки, но только для ipv4. Например – 192.168.71.255.
DEFROUTE – будет ли этот сетевой интерфейс по умолчанию использоваться при маршрутизации. Два значения: yes или no.
DEVICE – это человекопонятное имя сетевого интерфейса, которое может быть использовано для написания скриптов и понимания, где какой интерфейс.
GATEWAY – адрес шлюза.
HWADDR – классический MAC-адрес (необязательный параметр, иногда могут возникнуть проблемы в виртуальных средах или при замене сетевой аппаратной части).
IPADDR – сам ipv4 адрес. Если в BOOTPROTO указано static.
IPV4_FAILURE_FATAL – указывается, будет ли отключено сетевое устройство, если сконфигурировать адрес ipv4 не удаётся.
IPV6_FAILURE_FATAL – аналогично параметру выше, только для ipv6.
IPV6ADDR – параметр, аналогичный параметру IPADDR, только для ipv6. Пример указания: IPV6ADDR=”2001:db8:1e11:115b::1/32”
IPV6INIT – показывает, надо ли включать возможность работать с ipv6 на данном сетевом интерфейсе
MASTER – определяет имя главного интерфейса, в котором этот физический сетевой интерфейс будет slave (частью). Чаще всего используется для создания логического сетевого интерфейса из нескольких физических.
NAME – имя сетевого интерфейса, которое будет отображаться в GUI.
NETMASK – сетевая маска для ipv4.
NETWORK – сетевой адрес ipv4 сети. Например, 192.168.71.0.
NM_CONTROLLED – определяет будет ли этот сетевой интерфейс управляться демоном.
ONBOOT – говорит системе, стоит ли включать этот сетевой интерфейс при страте ОС или надо ждать.
PEERDNS – содержит ли файл /etc/resolv.conf информацию о DNS, полученную с помощью DHCP.
PEERROUTES – определяет, содержит ли таблица маршрутизации шлюз по умолчанию, получаемый с DHCP.
SLAVE – указывает, что данный интерфейс является составной частью логического интерфейса, указанного именем в параметре MASTER.
TYPE – это тип подключения. Может быть: Ethernet, Bridge, IpIp и многое другое.
USERCTL – будет ли кто-нибудь ещё, кроме пользователя root, изменять состояние этого интерфейса.
UUID – это аппаратное имя сетевого интерфейса (необязательный параметр, иногда могут созникнуть проблемы в виртуальных средах или при замене сетевой аппаратной части).

DNS in CentOS 7

Es gibt zwei Möglichkeiten, DNS-Server hinzuzufügen:
1. Angabe in den Einstellungen von ifcfg-eth0

DNS1="192.168.1.1"
DNS2="8.8.8.8"
DNS3="8.8.4.4"

Bei einem Neustart der Netzwerkdienste werden diese in /etc/resolv.conf übernommen.

nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 8.8.4.4

2. DNS nicht in den Einstellungen von ifcfg-eth0 angeben, sondern manuell direkt in /etc/resolv.conf hinzufügen.

Hostname in CentOS 7

Der Hostname kann in /etc/hostname geändert werden:
#nano /etc/hostname

proxy.local

IPv6 in CentOS 7 deaktivieren

Wenn das IPv6-Protokoll im Netzwerk nicht verwendet wird, sollte es besser deaktiviert werden, um weniger „Rauschen“ in den Logs und ähnliches zu vermeiden. Es ist ratsam, IPv6 zunächst in den Programmen, die es verwenden, zu deaktivieren, um die korrekte Funktion ohne IPv6 zu gewährleisten.

Prüfen, welche Dienste IPv6 verwenden:
#netstat -tulnp

[root@proxy ~]# netstat -tulnp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp   0  0 0.0.0.0:22       0.0.0.0:*               LISTEN      1406/sshd           
tcp   00 127.0.0.1:25       0.0.0.0:*               LISTEN      1747/master         
tcp6   0      0 :::22       :::*                    LISTEN      1406/sshd           
tcp6       0      0 ::1:25  :::*                    LISTEN      1747/master    

Nach der Deaktivierung von IPv6 in der Software deaktivieren wir es im System:
#nano /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Die Datei /etc/sysconfig/network bearbeiten und folgende Zeile hinzufügen:

NETWORKING=yes
NETWORKING_IPV6=no
IPV6INIT=no

Standard-Gateway in CentOS 7

Falls beim Konfigurieren der Netzwerkeinstellungen das Standard-Gateway nicht eingerichtet wurde, können Sie es manuell hinzufügen.

Prüfung der Routing-Tabelle:
#route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Die Zeile mit Destination 0.0.0.0 definiert die Gateway-Adresse. Falls sie fehlt oder falsch ist, fügen Sie folgende Zeile hinzu:
#route add default gw 192.168.1.1

Statisches Routing in CentOS 7
Angenommen, wir haben das Subnetz 10.0.0.0 mit der Maske 255.255.255.0, und der Traffic in dieses Subnetz wird über das Gateway 192.168.1.1 geroutet. Fügen Sie den Route-Eintrag hinzu:
# route add -net 10.0.0.0/24 gw 192.168.1.1

Um die Routing-Tabelle dauerhaft zu speichern, führen Sie folgende Schritte aus:

#touch /etc/sysconfig/network-scripts/route-eth0
#nano /etc/sysconfig/network-scripts/route-eth0

10.0.0.0/24 via 192.168.1.1

SELinux deaktivieren.

Die Verwendung und Konfiguration von SELinux ist ein eigenes Thema.

#nano /etc/sysconfig/selinux

SELINUX=disabled

Firewalld deaktivieren.

In CentOS 7 wurde eine Alternative zu iptables namens Firewalld eingeführt. Warum auch immer, aber ich habe weder die Zeit noch den Wunsch, die Man-Pages für die neue Lösung zu studieren. Also entfernen wir das Neue und installieren das Alte!

Firewalld deaktivieren:

# systemctl stop firewalld
# systemctl disable firewalld
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'

Installieren wir die Utilities für iptables:
# yum -y install iptables-services

Aktivieren wir den Autostart von iptables:
# systemctl enable iptables

Erstellen wir eine Datei, in die iptables-Regeln hinzugefügt werden:
#touch /etc/iptables_rules.sh
#chmod 0740 /etc/iptables_rules.sh
#/etc/iptables_rules.sh

#!/bin/bash
#
Правила iptables.
#
# Записываем правила
/sbin/iptables-save  > /etc/sysconfig/iptables

Erlauben wir die Paketweiterleitung zwischen den Netzwerkschnittstellen:

#nano /etc/sysctl.conf

net.ipv4.ip_forward = 1

Wenden wir die Einstellungen an:
# sysctl -p

estart network.service

Hinweis: Dieser Beitrag kann KI-unterstützt erstellt und anschließend redaktionell geprüft worden sein. Verantwortlich: Dmytro Lomaka, Kaltenkirchen.