siv*_*udh 17 networking network-adapter redhat-enterprise-linux
我有一台具有 eth0 和 eth1 的机器,现在我想创建一个 eth2 并为其分配一些 IP 地址。
执行此操作的命令是什么?
qua*_*ote 18
在 Linux 机器上,eth0和eth1对应于真实的网络端口。要添加eth2,您需要通过添加内部 PCI(e) 网卡或通过添加 USB 网络适配器来添加另一个 NIC。请参阅Redhat 网络接口配置。
如果您只需要另一个 IP 地址,则可以在现有适配器之一上创建以太网别名。别名就像一个虚拟网卡——它允许您为现有端口分配另一个 IP 地址。假设您的eth0的 IP 地址为 192.168.1.5。
要执行此操作,请运行 (以 root) ifconfig eth0:0 192.168.1.6 up。(eth0:1用于 eth0 上的第二个别名、eth0:2第三eth1:0个别名,或将 eth1 设为别名而不是 eth0。)此配置将在重新启动时丢失。
要永久配置它,请将其添加到配置脚本中。复制/etc/sysconfig/network-scripts/ifcfg-eth0到ifcfg-eth0:0同一目录中的文件。更改新文件,使其看起来像这样:
DEVICE=eth0:0
IPADDR=192.168.1.6
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
NAME=eth0:0
Run Code Online (Sandbox Code Playgroud)
删除或注释掉两个文件中的任何 GATEWAY 行,并将 GATEWAY 行添加到您的/etc/sysconfig/network文件中。然后,您可以使用 启动新别名ifup eth0:0或完全重新启动网络service network restart。
小智 6
从提出问题的方式来看,不清楚当说机器只有 和 时是什么eth0意思eth1。其他回答者假设只有两个 NIC 卡,但也有可能第三个 NIC 已安装在计算上,但尚未“启动”(或已明确关闭)。
让我们假设您确定您有 3 个 NIC 卡,但不知何故,当您执行时,您ifconfig的输出类似于:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:439793 errors:0 dropped:0 overruns:0 frame:0
TX packets:439793 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:412415058 (412.4 MB) TX bytes:412415058 (412.4 MB)
eth0 Link encap:Ethernet HWaddr [mac address]
[...]
eth1 Link encap:Ethernet HWaddr [mac address]
[...]
Run Code Online (Sandbox Code Playgroud)
似乎有一个矛盾,你有3块网卡,但只有两个端口。这是因为ifconfig只显示那些“打开”的端口。因此,您唯一需要做的就是运行命令:
ifconfig eth2 up
Run Code Online (Sandbox Code Playgroud)
请记住,它需要以 root 身份运行,请按照您的发行版的要求进行操作。
您可以将设置 IP 地址与“启动端口”结合起来:
ifconfig eth2 192.168.222.2 netmask 255.255.255.0 up
Run Code Online (Sandbox Code Playgroud)
“向上”应该在这条线上的其他东西之后,但它仍然有效。