
Я ввел следующее ifconfig eth0:0 192.198.6.1 up ifconfig eth0:1 192.198.6.2 up ifconfig eth0:2 192.198.6.3 up
Теперь не было никаких ошибок ни для одной из этих команд. И когда я пинговал 192.168.6.1, я получил ответ с этого ip. Так что же здесь происходит?
может ли кто-нибудь объяснить мне подробнее, что обозначает eth0:0, eth0:1etc?
Назначают ли эти команды выше несколько адресов одной и той же операционной системе? Я использую Ubuntu
Если это назначение нескольких IP-адресов одному и тому же компьютеру, то означает ли это, что размещение, например, сервера MySQL будет похоже на размещение на четырех разных компьютерах или на одном компьютере с несколькими IP-адресами?
решение1
Это одна и та же машина с несколькими IP-адресами. Linux способен сопоставлять несколько IP-адресов с одной сетевой картой с помощью IP-алиасинга.
Чтобы настроить псевдоним IP, например:
ifconfig eth0:0 192.198.5.2 netmask 255.255.255.0 up
Это назначает IP-адрес 192.198.5.2 для eth0 как первый псевдоним (отмеченный как eth0:0) на eth0. Если вы посмотрите на вывод ifconfig, вы увидите отдельный IP-адрес для eth0 и другой для eth0:0.
Псевдонимы — NetworkInterface:Number, например, eth0:0, eth0:1, eth0:2 и т. д.
В некоторых системах можно просто создать файл псевдонимов ifcfg-ethX:Y
(где X — сетевой интерфейс, а Y — псевдоним) в каталоге, /etc/sysconfig/network-scripts/
и он будет считан при загрузке/перезапуске сети.
Содержимое файла аналогично другим файлам интерфейса, например:
DEVICE=eth0
ONBOOT=yes
IPADDR="192.198.5.2"
NETMASK="255.255.255.0"
В системах, которые не используют эти сетевые скрипты, просто добавьте вызов ifconfig непосредственно в скрипт запуска (обычно /etc/rc.d/rc.local).
решение2
В отношении вашего вопроса mysql. Оба. В зависимости от того, как вы его настроите, вы можете заставить mysql слушать все 4 IP-адреса или только один.
У большинства демонов есть возможность выбрать интерфейс, который они будут прослушивать.
решение3
(В дополнение к ответу Prix:) Метод с использованием ifcfg-ethX:Y
файлов распространен в системах на базе RedHat (например, Fedora, CentOS и т. д.). В системах на базе Debian (например, Ubuntu) вы должны использовать записи в файле /etc/network/interfaces. Плюс: Ваш идентификатор устройства должен указывать виртуальный интерфейс. Пример:
iface eth0 inet статический адрес 192.168.6.1 сетевая маска 255.255.255.0 шлюз 192.168.6.254 iface eth0:1 inet статический адрес 192.168.6.2 сетевая маска 255.255.255.0 iface eth0:2 inet статический адрес 192.168.6.3 сетевая маска 255.255.255.0
Если вы используете это для отображения дополнительных адресов, сделайте следующее:НЕТдобавьте строки для шлюзов, иначе у вас получится несколько маршрутов по умолчанию, что может запутать ваш механизм маршрутизации.