Можно установить имя хоста системы напрямую с помощью утилиты hostname
во многих операционных системах, однако если вы решите редактировать файлы вручную, вот дополненная версия вашего скрипта. Я добавил проверку на существование аргументов пользователя, резервные копии исходных файлов и соурс пользовательского .bashrc в конце скрипта.
#!/bin/bash
# Error if anything goes wrong and report all commands
set -xe
# Test that the user supplied an argument
if [[ "$#" != 1 ]]
then printf "Usage: $0 <newhostname>\n"
exit 1
fi
# Back up the files first (but don't clobber old backups).
cp -n /etc/hosts /etc/hosts.bak
cp -n /etc/sysconfig/network /etc/sysconfig/network.bak
# Do two seds to edit the files for persistent hostname change:
sed -i "s/$(hostname)/$1/g" /etc/hosts
sed -i "s/$(hostname)/$1/g" /etc/sysconfig/network
# Source the user's .bashrc file
. /home/$USER/.bashrc
Мост — это сетевое агрегирующее устройство , на практике аналогичное коммутатору. Мосты, реализованные в ядре Linux, следуют этой модели. Как и любой мост, они перенаправляют трафик на основе MAC-адресов назначения, как только сопоставление MAC-адресов известно. На самом деле они более функциональны, чем большинство коммутаторов, поскольку они также поддерживают брандмауэр, формирование трафика и т. д., используя ebtables
.
Подробности см. в документации моста .
На самом деле существует небольшая разница между коммутатором и концентратором. Концентратор не хранит MAC-адреса подключенных устройств, поэтому пакеты, полученные от любого хоста, достигают всех остальных подключенных хостов. пакет соответствующему получателю, чьи данные (, такие как mac,ip ), упоминаются в заголовках пакетов....