Nejprve se podíváme na nastavení síťových karet:
# ifconfig -bash: ifconfig: command not found
Z nějakých důvodů byla tato utilita vyřazena ze standardní sady distribuce! Problém vyřešíte instalací balíčku net-tools:
yum -y install net-tools.x86_64
Pokud nemáte možnost nainstalovat net-tools, podívejte se takto:
#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 ~]#
Vypneme a odstraníme NetworkManager.
Na pracovních stanicích může být tento nástroj užitečný, ale na serveru může způsobovat zbytečné starosti:
# systemctl stop NetworkManager.service # systemctl disable NetworkManager.service # yum remove dnsmasq -y # systemctl enable network.service # systemctl restart network.service
Nastavíme síťová rozhraní:
#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
Nastavíme druhé rozhraní:
Podíváme se na MAC adresu druhého síťového rozhraní:
#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
Restartujeme síťové služby:
#systemctl restart network.service
Aby se síťová nastavení získávala přes DHCP, odeberte z ifcfg-eth01:
IPADDR=192.168.1.5 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.1
V možnosti BOOTPROTO zadejte „dhcp“.
Restartujte síťové služby:
#systemctl restart network.service
Popis možností v konfiguračním souboru 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 v CentOS 7
Existují dva způsoby přidání DNS serverů:
1. Zadaním jejich nastavení v ifcfg-eth0
DNS1="192.168.1.1" DNS2="8.8.8.8" DNS3="8.8.4.4"
Při restartu síťových služeb se objeví v /etc/resolv.conf
nameserver 192.168.1.1 nameserver 8.8.8.8 nameserver 8.8.4.4
2. Nezadávejte DNS v nastavení ifcfg-eth0 a přidávejte je ručně přímo do /etc/resolv.conf.
Hostname v CentOS 7
Hostname lze změnit v /etc/hostname:
#nano /etc/hostname
proxy.local
Vypnutí IPV6 v CentOS 7
Pokud se v síti nepoužívá protokol IPV6, je lepší jej vypnout, aby bylo méně hluku v logu atd. Nemusí být na škodu nejprve vypnout ipv6 v programech, které jej používají, abyste se ujistili, že správně fungují bez ipv6.
Podívejme se, které služby používají ipv6:
#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
Po vypnutí ipv6 v softwaru vypneme v systému:
#nano /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
Upravte soubor /etc/sysconfig/network a přidejte do něj:
NETWORKING=yes NETWORKING_IPV6=no IPV6INIT=no
Výchozí brána v CentOS 7
Pokud se při nastavování síťových parametrů z nějakého důvodu neinstalovala výchozí brána, přidáme ji ručně.
Kontrola tabulky směrování:
#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
Řádek s Destination 0.0.0.0 určuje adresu brány. Pokud chybí nebo je nesprávná, přidejte:
#route add default gw 192.168.1.1
Statická trasa v CentOS 7
Předpokládejme, že máme podsíť 10.0.0.0 s maskou 255.255.255.0 a provoz do této podsítě směruje brána 192.168.1. Přidejte trasu:
# route add -net 10.0.0.0/24 gw 192.168.1.1
Aby se tabulka směrování uložila, proveďte:
#touch /etc/sysconfig/network-scripts/route-eth0
#nano /etc/sysconfig/network-scripts/route-eth0
10.0.0.0/24 via 192.168.1.1
Vypneme SELinux.
Jeho používání a konfigurace je samostatná kapitola.
#nano /etc/sysconfig/selinux
SELINUX=disabled
Vypneme Firewalld.
V CentOS 7 vymysleli náhradu za iptables ve formě firewalld, nevím proč, ale nemám čas ani chuť studovat manuály k novému rozhraní. Odstraníme nové a nainstalujeme staré!
Vypneme Firewalld:
# systemctl stop firewalld
# systemctl disable firewalld
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
Instalujeme utility pro iptables:
# yum -y install iptables-services
Povolíme automatické spouštění iptables:
# systemctl enable iptables
Vytvoříme soubor, do kterého budou přidávána pravidla iptables:
#touch /etc/iptables_rules.sh
#chmod 0740 /etc/iptables_rules.sh
#/etc/iptables_rules.sh
#!/bin/bash # Правила iptables. # # Записываем правила /sbin/iptables-save > /etc/sysconfig/iptables
Povolíme směrování paketů mezi síťovými rozhraními:
#nano /etc/sysctl.conf
net.ipv4.ip_forward = 1
Použijeme nastavení:
# sysctl -p
estart network.service
