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
