Управление сетью.

Установка, настройка, эксплуатация.

Модератор: ROOT

Управление сетью.

Сообщение ROOT » 18 июл 2017, 14:53

Оглавление


Темы
Оглавление
 Отключаем ipv6 
 Меняем имена интерфейсов в системе на ethX 
 Wake on Lan 
 Virtual Local Area Network — виртуальная локальная сеть 
 Фиктивный интерфейс 
 Использование смартфона как USB-модема 
 Изменение TTL пакетов TCP/IP 


 Отключаем ipv6 
В настоящее время активного использования протокола ipv6 нет и в обычной работе он не нужен. Хотя нас уже много лет пугают, что свободных ip адресов уже практически не осталось, но на деле пока еще всем хватает. Так что с точки зрения практических соображений ipv6 в настоящее время на сервере не нужен и его можно отключить.
Перед отключением ipv6 необходимо на всякий случай проверить, какие программы его используют в своей работе. Это нужно для того, чтобы избежать ошибок в их работе, предварительно отключив ipv6 в конфигурациях. Для того, чтобы увидеть, какие программы висят на ipv6 интерфейсе воспользуемся командой netstat:
Код: выделить все
netstat -tulnp

Все строки с ::: это ipv6 протокол. В моем случае это sshd, postfix и chronyd. Отключим им ipv6 и оставим только ipv4.
Начнем с sshd. Открываем файл настроек /etc/ssh/sshd_config и находим строки:
e /etc/ssh/sshd_config
Код: выделить все
#AddressFamily any
#ListenAddress 0.0.0.0

Раскомментируем их и изменим. Должно получиться вот так:
Код: выделить все
AddressFamily inet
ListenAddress 1.2.3.4

Теперь открываем файл настроек Postfix /etc/postfix/main.cf. Ищем там строку:
e /etc/postfix/main.cf
Код: выделить все
#inet_protocols = all
Меняем на:
inet_protocols = ipv4

Отключаем ipv6 в chronyd. Для этого создаем файл /etc/sysconfig/chronyd и добавляем строку:
Код: выделить все
OPTIONS=-4

Теперь отключаем ipv6. Открываем файл /etc/sysctl.conf и добавляем туда строки:
e /etc/sysctl.conf
Код: выделить все
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Поэтому есть более мягкий вариант отключения IPv6:
e /etc/sysctl.d/01-disable_ipv6.conf
Код: выделить все
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Код: выделить все
systemctl restart systemd-sysctl.service

Редактируем файл /etc/sysconfig/network, добавляя туда:
e /etc/sysconfig/network
Код: выделить все
# Отключаем IPv6
NETWORKING_IPV6=no
IPV6INIT=no
#Удаляем маршруты 169.254.0.0 / 255.255.0.0
NOZEROCONF=yes

Перезапускаем сеть
Код: выделить все
systemctl restart network

Перезагружаемся и проверяем результат:
Код: выделить все
reboot
ifconfig

Нигде нет упоминания про inet6 и адреса формата ipv6. Значит все в порядке, мы отключили ipv6.
Теперь проверим список открытых портов:
Код: выделить все
netstat -tulnp

Все порты ipv4. Все в порядке, наша задача выполнена.


 Меняем имена интерфейсов в системе на ethX 
Изменить наименование интерфейсов в системе на ethX. Добавляем параметр "net.ifnames=0" в строку файла
e /etc/default/grub
Код: выделить все
GRUB_CMDLINE_LINUX="net.ifnames=0 rd.lvm.lv=fedora/swap rd.md=0.....

Обновляем конфигурацию grub
Код: выделить все
grub2-mkconfig -o /boot/grub2/grub.cfg

Последовательно переименовываем файлы типа ifcfg-enp0s3 ifcfg-ethX
Код: выделить все
cd /etc/sysconfig/network-scripts/
mv ifcfg-enp0s3 ifcfg-eth0

Меняем значения параметров NAME и DEVICE на ethX
e ifcfg-eth0
Код: выделить все
NAME="eth0"
DEVICE=eth0


Теперь переименовываем файлы описания статических маршрутов в соответствии с именами интерфейсов
Код: выделить все
mv /etc/sysconfig/network-scripts/route-enp0s3 /etc/sysconfig/network-scripts/route-eth0
mv /etc/sysconfig/network-scripts/route-enp0s8 /etc/sysconfig/network-scripts/route-eth1

и проверяем не указаны ли имена интерфейсов внутри файлов статических маршрутов
Теперь меняем имя интерфейса в скрипте iptables
e /etc/iptables_rules.sh
Код: выделить все
export WAN="eth0"

И теперь можно перезапустить сервер
Код: выделить все
reboot

Отключение NetworkManager
Код: выделить все
systemctl stop NetworkManager
systemctl disable NetworkManager
e /etc/sysconfig/network-scripts/ifcfg-XXXX
NM_CONTROLLED=no

Поиск пакета который содержит утилиту ifconfig
Код: выделить все
dnf whatprovides ifconfig
...
net-tools-2.0-0.17.20131004git.el7.x86_64 : Basic networking tools
...
dnf -y install net-tools



 Wake on Lan 


 Virtual Local Area Network — виртуальная локальная сеть 
# Обхожусь без этой утилиты
Код: выделить все
dnf install epel-release
dnf update
dnf install vconfig

cat /etc/sysconfig/network-scripts/ifcfg-eth0
Код: выделить все
TYPE="Ethernet"
BOOTPROTO="none"
NAME="eth0"
UUID="00d9f51e-fcf5-4ff4-9f27-634d94d1e546"
DEVICE="eth0"
ONBOOT="yes"

cat /etc/sysconfig/network-scripts/ifcfg-eth0.20
Код: выделить все
VLAN=yes
DEVICE=eth0.20
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.1
PREFIX=24
NETWORK=192.168.1.0
DNS1="127.0.0.1"

Configure 802.1Q VLAN Tagging Using ip Commands
Код: выделить все
ip link add link eth0 name eth0.20 type vlan id 20



 Фиктивный интерфейс 
Для того чтобы создать фиктивный интерфейс нужно поменять/создать несколько файлов.
Добавить/создать в файл:
/etc/modules-load.d/dummy.conf
Код: выделить все
# load dummy interface module
dummy

Добавить/создать в файл:
e /etc/udev/rules.d/70-persistent-net.rules
Код: выделить все
SUBSYSTEM=="net", KERNEL=="dummy0", NAME="eth2"

Создать файл:
e /etc/sysconfig/network-scripts/ifcfg-eth2
Код: выделить все
TYPE="Ethernet"
BOOTPROTO="static"
NAME="eth2"
DEVICE=eth2
ONBOOT=yes
NM_CONTROLLED="no"
IPADDR=192.168.1.254
PREFIX=24

Активация интерфейса без перезапуска
Запускаем модуль ядра
Код: выделить все
modprobe dummy

поднимаем интерфейс с заданными настройками в файле ifcfg-eth2
Код: выделить все
ifup eth2



 Использование смартфона как USB-модема 
  1. подключить смартфон через USB
  2. Выбрать в смартфоне тип подключения Сетевая настройка USB => Интернет-модем
  3. И получить IP на компьютере или ноутбуке для интерфейса usb0: dhcpcd usb0
  4. А так же не забываем включить мобильный интернет или WIFI на смартфон


 Изменение TTL пакетов TCP/IP  
Код: выделить все
sysctl net.ipv4.ip_default_ttl=65

или
Код: выделить все
echo 65 | tee /proc/sys/net/ipv4/ip_default_ttl

или
Код: выделить все
bash -c 'echo 65 > /proc/sys/net/ipv4/ip_default_ttl'

для внесения изменений на постоянной основе требуется изменить /etc/sysctl.conf:
Код: выделить все
net.ipv4.ip_default_ttl=65

По умолчанию в системе TTL пакетов TCP/IP имеет значение 64. На пример, для провайдера Йота надо выставить именно 65, чтобы от телефона пакеты в сеть шли с TTL 64 иначе йота понимает, что помимо телефона через него другие устройства подключены и включает ограничение на 128 кбит\сек
Для желающих отблагодарить
SB: 4274320029755744
QIWI: +79175241450
Аватар пользователя
ROOT
Администратор
 
Сообщений: 145
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron