我有一台具有 eth0 和 eth1 的机器,现在我想创建一个 eth2 并为其分配一些 IP 地址。
执行此操作的命令是什么?
答案1
在 Linux 机器上,eth0和eth1对应于真实网络端口。要添加eth2,您需要添加另一个 NIC,方法是添加内部 PCI(e) 网卡,或添加 USB 网络适配器。请参阅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
将 eth0 改为 eth1。)此配置将在重启时丢失。
要永久配置它,请将其添加到配置脚本中。将 复制/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
删除或注释掉两个文件中的任何 GATEWAY 行,然后将 GATEWAY 行添加到您的/etc/sysconfig/network
文件中。然后,您可以使用 启动新别名,ifup eth0:0
或者使用 完全重新启动网络service network restart
。
答案2
从提问的方式来看,不清楚机器只有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]
[...]
似乎存在矛盾,您有 3 张 NIC 卡,但只有两个端口。这是因为ifconfig
只显示那些处于“启动”状态的端口。因此,您唯一需要做的就是运行以下命令:
ifconfig eth2 up
请记住,它需要以 root 身份运行,请按照发行版的要求进行操作。
您可以将设置 IP 地址与“启动端口”结合起来:
ifconfig eth2 192.168.222.2 netmask 255.255.255.0 up
“up” 应该位于此行中的其他内容之后,但它仍然可以起作用。
答案3
按着这些次序:
- 关闭计算机
- 断开电源
- 开放情况
- 插入网卡
- 结案
- 重新连接电源
- 启动计算机
答案4
对于 MAC Monterey 打开终端,并从 VirtualBox 工具网络获取 hostonly 接口的地址(我的情况是 vboxnet0 有 192.158.66.1)
#> sudo ifconfig vboxnet0 192.168.66.1/24 up
#> ping 192.168.66.xxx #(a virtual machine ip you know)