Freebsd перезапуск сети

Настройка сети FreeBSD 11

Freebsd перезапуск сети

В этой статье мы рассмотрим сетевые интерфейсы в FreeBSD 11.1, покажем настройку сети через файл конфигурации /etc/rc.conf, а именно назначение статических настроек и получение их по DHCP. Пропишем адреса DNS-серверов, настроем hosts и рассмотрим указание временных настроек сети.

Просмотр сетевых интерфейсов

Для начала проясним: Есть два состояния сетевой карты UP(задействована) и DOWN(не задействована).

Первым делом стоит посмотреть наши сетевые интерфейсы, смотреть будем командой ifconfig.(Рис.1) Вывод команды показывает все интерфейсы UP и DOWN.

ifconfig

ifconfig -a покажет вам тоже самое.

ifconfig -a

Вот тут есть некоторые отличия от ifconfig в Ubuntu server.(в Ubuntu server «ifconfig» показывает только интерфейсы UP, «ifconfig -a» показывает все интерфейсы и UP и DOWN)

Рис.1 — Результат ввода команды ifconfig.

И так что же мы видим:

  • em0 — наша сетевая карта, с IP адресом 192.168.3.11.
  • em1 — вторая сетевая карта, не настроенная.
  • lo — локальная петля, она у всех присутствует по умолчанию.

Для того чтобы посмотреть интерфейсы только UP, используется команда ifconfig -u (Рис.2):

ifconfig -u

а для просмотра интерфейсов только DOWN, используется команда ifconfig -d (Рис.3):

ifconfig -dРис.2 — Результат ввода команды ifconfig -u.Рис.3 — Результат ввода команды ifconfig -d.

В дальнейшем я буду показывать примеры настройки на интерфейсе «em0».

Для включения интерфейса используется команда ifconfig «НАЗВАНИЕ-ИНТЕРФЕЙСА» up.

ifconfig em0 up

Для выключения интерфейса используется команда ifconfig «НАЗВАНИЕ-ИНТЕРФЕЙСА» down.

ifconfig em0 down

«Поиграйтесь» с интерфейсом, если вы конечно же не подключены по ssh, и оставьте его в состоянии UP.

Настройка сети через файл конфигурации

Для настройки статического или динамического IP адреса нам надо отредактировать файл конфигурации сетевых интерфейсов — /etc/rc.conf мы будем редактировать его с помощью текстового редактора vi.(Рис.4) Сразу скажу, для того чтобы редактировать в vi нужно нажать букву «i», а чтобы  сохранить и закрыть документ надо нажать  «Esc» ввести «:wq!» и нажать «Enter».

vi /etc/rc.confРис.4 — vi /etc/rc.conf.

Получение настроек сети по DHCP

Чтобы назначить получение настроек по DHCP, нужно вписать( или изменить существующую) строчку в файл /etc/rc.conf.(Рис.5)

ifconfig_НАЗВАНИЕ-ИНТЕРФЕЙСА=»DHCP»

ifconfig_em0=»DHCP»Рис.5 — Получение сетевых настроек по DHCP.

Перезапускаем сетевую службу netif.(Рис.6)

/etc/rc.d/netif restartРис.6 — Перезапуск сетевой службы FreeBSD.

Смотрим активные сетевые интерфейсы, видим, полученный по DHCP, IP адрес интерфейса em0 192.168.3.6(Рис.7)

Читайте также  Как подключить компьютер к существующей локальной сети?

ifconfig -u

Проверяем выход в интернет пингуем гугловские восьмёрки.

ping 8.8.8.8Рис.7 — Проверка активных интерфейсов и доступа к сети.

Пинги идут. Всё отлично!

Указание настроек сети вручную

Чтобы назначить статичный адрес для нашей Freebsd нужно в файл /etc/rc.conf вписать две строки(Рис.8)

ifconfig_НАЗВАНИЕ-ИНТЕРФЕЙСА=»inet IP-АДРЕС-FREEBSD netmask МАСКА-СЕТИ«

defaultrouter=»IP-АДРЕС-ШЛЮЗА«

ifconfig_em0=»inet 192.168.3.11 netmask 255.255.255.0″ defaultrouter=»192.168.3.1″Рис.8 — Статичные настройки сетевого интерфейса.

Перезапускаем сетевую службу.

/etc/rc.d/netif restart

Проверяем активные интерфейсы

ifconfig -u

Проверяем выход в интернет пингуем гугловские восьмёрки.

ping 8.8.8.8

Настройка DNS

IP адреса DNS серверов хранятся в файле /etc/resolv.conf(Рис.9)

Открываем resolv.conf в редакторе vi.

vi /etc/resolv.conf

Вписываем IP адрес DNS сервера. (Можно указать сколько угодно адресов.)

nameserver 192.168.3.1 nameserver 8.8.8.8 nameserver 8.8.4.4

Если у вас нет файла resolv.conf то создайте его в каталоге /etc

touch /etc/resolv.confРис.9 — Содержимое файла resolv.conf.

Файл /etc/hosts

Файл /etc/hosts содержит таблицы сопоставления DNS имен с IP адресами. В первую очередь ваш сервер будет обращаться к файлу hosts, а потом уже к DNS-серверу.

Записи 127.0.0.1 добавился автоматически при установке.

Лично для себя я отметил полезным внести в hosts запись этого freebsd (IP адрес локальной сети — имя сервера). Теперь мы можем во всех конфигурационных файлах указывать DNS имя, а не IP адрес, а в случае необходимости за кротчайшее время изменить свой IP адрес поправив hosts и настройки интерфейса в /etc/rc.conf.

Это просто для примера вам этого делать не обязательно.

Приступаю к редактированию(Рис.10):

vi /etc/hosts

Вписываю:

192.168.3.11 freebsd.itdeer.locРис.10 — Содержимое файла hosts.

Проверю попинговав имена из hosts.(Рис.11)

ping localhostping freebsd.itdeer.locРис.11 — Пингуем имена из hosts.

Временное назначение ip адреса

Честно говоря я не знаю для чего может пригодиться временное назначение сетевых настроек. Разве что допустим у вас какой-нибудь сервер который предназначен только для вашей локальной сети и вы вдруг решили быстренько обновить ПО через интернет на этом сервере, чтобы не ходить к шлюзу не раздавать интернет на нужный IP адрес итд.  Вы можете обойтись парой команд.

Например, мы знаем что на 192.168.3.109 точно есть доступ в интернет, назначаем этот IP адрес нашему интерфейсу, так же нужно указать маску сети(Рис.12):

ifconfig em0 192.168.3.109 netmask 255.255.255.0

или командой с короткой записью маски сети.

ifconfig em0 192.168.3.109/24Рис.12 — Указание временных настроек для сетевого интерфейса em0.

Интернет может  не появиться, так как не указан шлюз по умолчанию. Прописываем его и пингуем гугловкие восьмёрки.(Рис.13)

route add default 192.168.3.1ping 8.8.8.8Рис.13 — Указываем шлюз по умолчанию. Проверяем ping.

Правильно ли мы прописали наш шлюз по умолчанию можно посмотреть в таблице маршрутизации. Она выводится с помощью команды «netstat -rn», Шлюз по умолчанию будет обозначен флагом UG.(Рис.14)

netstat -rnРис.14 — Вывод таблицы маршрутизации.

Читайте также  Как узнать кто в сети в инстаграмме?

Если вы где-то ошиблись в написании или у вас указан другой шлюз, то можно удалить шлюз по умолчанию.

route del default

На этом временная настройка закончена, помните что после перезагрузки сервера  или отдельно службы networking, все временные настройки исчезнут.

Добавляем маршрут в сеть 192.168.0.0/16 (Маска 255.255.0.0) через основной шлюз(gateway) 192.168.3.1/24

route add 192.168.0.0/16 192.168.3.1

Вариант добавления маршрута с указанием полной маски.

route add -net 192.168.0.0 -netmask 255.255.0.0 192.168.3.1

Переименовываем интерфейс em0 в wan0

Для удобства некоторые админы переименовывают интерфейсы, чтобы сразу видеть для чего предназначен интерфейс. Допустим у нас шлюз с двумя сетевыми интерфейсами em0(интернет) и em1(локальная сеть) и работать с такими названиями неудобно, так как имея большое количество интерфейсов можно запутаться. Гораздо удобнее работать с интерфейсами wan0 и lan1.

Мы покажем пример переименования интерфейса em0 в wan0 в файле /etc/rc.conf.(Рис.15)

vi /etc/rc.conf

Строку:

ifconfig_em0=»inet 192.168.3.11 netmask 255.255.255.0″

Заменяем двумя строками:

ifconfig_em0_name=»wan0» ifconfig_wan0=»inet 192.168.3.11 netmask 255.255.255.0″Рис.15 — Переименовываем интерфейсы в файле /etc/rc.conf.

Не забываем перезапустить сетевую службу:

/etc/rc.d/netif restart

Проверю, введу команду ifconfig -u. Видим наш wan0 с нужным IP адресом.(Рис.16)

ifconfig -uРис.16 — Проверяем новое название интерфейса. ifconfig -u.

У меня всё!

Была ли вам полезна статья? Есть возможность поддержать проект.

Источник: https://itdeer.ru/nastrojka-seti-freebsd-11/

Оптимизация FreeBSD

Freebsd перезапуск сети

FreeBSD хорошо зарекомендовала себя как система для построения интранет- и интернет-серверов. Она предоставляет достаточно надёжные сетевые службы и эффективное управление памятью.

Стандартные настройки FreeBSD не позволяют оптимально использовать ресурсы аппаратной части. Рассмотрим пример конфигурации этой ОС для работы в качестве платформы для Web сервера.

Общие настройки

Основной тюнинг FreeBSD происходит посредством внесения изменений в sysctl. Все параметры разделяются на две группы:

  • Параметры применяемые только при загрузке
  • Параметры применяемые на лету

Параметры применяемые при загрузке

Для правки настроек, которые применяются только при загрузке, нужно внести изменения в файл /boot/loader.conf, после чего выполнить перезагрузку ОС. # Отсутствие ограничений на размер зоны. kern.ipc.nmbclusters=0 net.inet.tcp.reass.maxsegments=2048 vm.pmap.shpgperproc=400 hw.em.rxd=4096 hw.em.txd=4096 hw.em.rx_int_delay=100 hw.em.tx_int_delay=100 hw.em.rx_abs_int_delay=1000 hw.em.

tx_abs_int_delay=1000 dev.em.rx_processing_limit=-1 net.inet.tcp.hostcache.hashsize=4096 net.inet.tcp.hostcache.bucketlimit=100 net.inet.tcp.hostcache.cachelimit=65536 net.inet.tcp.syncache.hashsize=1024 net.inet.tcp.syncache.bucketlimit=100 net.inet.tcp.syncache.cachelimit=65536 net.inet.tcp.tcbhashsize=4096 net.isr.defaultqlimit=4096 net.isr.bindthreads=1 net.isr.maxthreads=8 net.link.

ifqmaxlen=1024 ahci_load=»YES» aio_load=»YES»

Параметры применяемые «на лету»

Для изменения параметров в уже загруженной ОС необходимо выполнить следующую команду:

sysctl param_name=value

Также следует продублировать изменения в файл /etc/sysctl.conf, в противном случае, после перезагрузки, будет применено значение по умолчанию.

# Разрешает пользователям видеть только запущенные ими процессы security.bsd.see_other_uids=0 kern.ipc.maxsockets=204800 kern.ipc.nmbclusters=262144 kern.ipc.shm_use_phys=1 kern.ipc.somaxconn=4096 kern.maxfiles=204800 kern.maxfilesperproc=200000 kern.maxvnodes=256000 kern.random.sys.harvest.ethernet=0 kern.random.sys.harvest.interrupt=0 # fsck после перезагрузки kern.sync_on_panic=1 net.inet.icmp.bmcastecho=0 net.inet.icmp.drop_redirect=1 net.inet.icmp.maskrepl=0 # (Необходимо увеличивать если net.inet.ip.intr_queue_drops != 0) net.inet.ip.intr_queue_maxlen=256 net.inet.ip.maxfragpackets=1024 net.inet.ip.portrange.first=1024 net.inet.ip.portrange.last=65535 net.inet.ip.portrange.randomized=0 net.inet.ip.redirect=0 net.inet.ip.sourceroute=0 net.inet.ip.accept_sourceroute=0 net.inet.tcp.blackhole=2 net.inet.tcp.drop_synfin=1 net.inet.tcp.fast_finwait2_recycle=1 net.inet.tcp.finwait2_timeout=3000 net.inet.tcp.hostcache.expire=1200 net.inet.tcp.keepinit=5000 net.inet.tcp.maxtcptw=65536 # (в миллисекундах деленных на 2, 2 x 30000 MSL = 60 секунд) net.inet.tcp.msl=5000 net.inet.tcp.recvbuf_auto=0 net.inet.tcp.recvspace=65536 net.inet.tcp.sendbuf_auto=0 net.inet.tcp.sendspace=131072 net.inet.tcp.syncookies=1 net.inet.tcp.tso=0 net.inet.udp.blackhole=1 net.inet.udp.recvspace=32768 net.isr.direct=1 net.route.netisr_maxqlen=1024 vfs.ufs.dirhash_maxmem=100000000

Читайте также  Сеть lan что это?

Запуск приложений

Следующим этапом тюнинга ОС является настройка сети и запуск необходимых приложений в файле /etc/rc.conf.

# Задаем имя сервера hostname=»host.domain.com» ifconfig_em0=»inet 172.16.1.5 netmask 255.255.255.0″ ifconfig_em1=»inet 10.16.1.51 netmask 255.255.255.0″ defaultrouter=»172.16.1.1″ sshd_enable=»YES» sshd_flags=»-u0″ usbd_enable=»NO» sendmail_enable=NONE ntpd_enable=»YES» inetd_enable=»NO» portmap_enable=»NO» nfs_client_enable=»NO» nfs_reserved_port_only=»NO» nfs_server_enable=»NO» tcp_drop_synfin=»YES» icmp_drop_redirect=»YES» icmp_log_redirect=»NO» syslogd_enable=»YES» # и не выполняет DNS запросов syslogd_flags=»-s -n» fsck_y_enable=»YES» background_fsck=»NO» dumpdir=»/home» dumpdev=»AUTO» snmpd_enable=»NO» firewall_enable=»YES» firewall_script=»/etc/rc.ipfw»

И напоследок добавим в файл /etc/rc.local скрипты которые нужно выполнить при загрузке.

# Привязывание очередей прерываний сетевых карт к процессорным ядрам
/usr/local/startup/cpuset-emigb.sh

Скрипт инициализации фаервола /etc/rc.ipfw:

#!/bin/sh WAN=»em0″ LAN=»em1″ OPEN_PORT=»80,443″ IPFW=`which ipfw` RET=$? if [ ${RET} -ne 0 ]; then echo «IPFW not found.» exit ${RET} fi ${IPFW} -f flush ${IPFW} -f table 1 flush ${IPFW} add 100 allow ip from any to any via lo0 ${IPFW} add 110 deny ip from any to 127.0.0.0/8 ${IPFW} add 120 deny ip from 127.0.0.0/8 to any ${IPFW} add 130 allow ip from any to any via ${LAN} ${IPFW} add 140 deny all from table\(1\) to me ${IPFW} add 150 deny all from any to any frag ${IPFW} add 160 allow carp from any to any via ${WAN} ${IPFW} add 180 allow tcp from any to any via ${WAN} established ${IPFW} add 200 check-state ${IPFW} add 210 allow tcp from me to any via ${WAN} setup keep-state ${IPFW} add 220 allow udp from me to any via ${WAN} keep-state ${IPFW} add 230 allow tcp from any to me dst-port ${OPEN_PORT} via ${WAN} ${IPFW} add 240 allow icmp from any to any icmptypes 0,8 via ${WAN} ${IPFW} add 65530 deny ip from any to any exit 0

Скрипт привязывания прерываний очередей сетевых карт к процессорным ядрам /usr/local/startup/cpuset-emigb.sh:

#!/bin/sh cpus=`sysctl -n kern.smp.cpus` DRIVER=`pciconf -l | egrep 'em|igb' | sed -E 's/([emigb]+).*/\1/' | head -n 1` case «$DRIVER» in em) echo $DRIVER i=1 vmstat -ai | egrep «em[0-9]:[a-z]x» | sed -E 's/irq([0-9]+): (em[0-9]):([a-z]+).*/\1 \2 \3/' | while read irq iface queue do cpu=$(( $i % $cpus )) echo «Binding ${iface} queue ${queue} (irq ${irq}) -> CPU${cpu}» cpuset -l $cpu -x $irq i=$(( $i + 1 )) done ;; igb) echo $DRIVER vmstat -ai | sed -E '/irq.*que/!d; s/irq([0-9]+): igb([0-9]+):que ([0-9]+).*/\1 \2 \3/' | while read irq iface queue do cpu=$(( ($iface+$queue) % $cpus )) echo «Binding igb${iface} queue ${queue} (irq ${irq}) -> CPU${cpu}» cpuset -l $cpu -x $irq done ;; esac

Самое важное

Выше приведен пример настройки платформы Web сервера для работы под высокими нагрузками. Подстройку параметров следует делать периодически, чтобы адаптировать ОС под изменения в нагрузках.

Источник: https://ruhighload.com/freebsd