ifconfig eth0:x 192.198.6.x 启动

ifconfig eth0:x 192.198.6.x 启动

我输入了以下内容 ifconfig eth0:0 192.198.6.1 up ifconfig eth0:1 192.198.6.2 up ifconfig eth0:2 192.198.6.3 up

现在这两个命令都没有错误。当我 ping 192.168.6.1 时,我得到了来自该 IP 的回复。那么这里到底发生了什么?

谁能详细解释一下 eth0:0、eth0:1 等代表什么意思吗?

上述命令是否为同一操作系统分配多个地址?我正在使用 Ubuntu

如果它为同一台机器分配多个 Ip,那么是否意味着托管一个 my-sql 服务器,例如,就像托管在四台不同的机器上,或者同一台机器有多个 IP 地址?

答案1

同一台机器有多个ip,Linux能够通过使用IP别名将多个IP地址映射到一个NIC。

要设置 IP 别名,例如:

ifconfig eth0:0 192.198.5.2 netmask 255.255.255.0 up

这会将 IP 地址 192.198.5.2 分配给 eth0,作为​​ eth0 上的第一个别名(记为 eth0:0)。如果您查看 ifconfig 的输出,您会看到 eth0 的不同 IP 地址和 eth0:0 的另一个 IP 地址。

别名是 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"

在没有使用这些网络脚本的系统上,只需在启动脚本(通常是 /etc/rc.d/rc.local)中直接添加对 ifconfig 的调用。

答案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

如果你使用它来调出其他地址,请这样做不是添加网关的线路,因为您最终会得到多个默认路由,这可能会使您的路由引擎感到困惑。

相关内容