在我们使用服务器的网络过程中,服务器都有多个网卡,通常需要给服务器多个IP以此来配合多个网络的使用,但是很多时候给网卡新配置一个IP之后都不会生效,下面给出两种方法
- 查看网卡名
ifconfig -a
这个命令可以打印出现有的所有网卡的名称,如图:- 查看网卡配置详细参数
sudo ethtool eth0
- 修改网卡配置文件
sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.125
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1 #此位置为网关,只能给一个网卡配置
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 114.114.114.114
auto eth1
iface eth1 inet static
address 192.168.2.125
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
...
- 然后就可以根据你的现有网卡名去配置IP,但是在很多情况下修改完配置文件后,使用命令
sudo service networking restart
重启网卡会失败,导致配置文件没有生效- 针对这种情况建议先将interfaces文件中的配置配置好,然后使用命令
sudo ifconfig eno1 192.168.2.105
- 进行配置临时ip 这样的话你就会给你的 “eno1” 网卡 配置了IP “192.168.2.105”,此时使用命令
sudo ifconfig #查看当前正在使用的网卡
就能够看见你刚刚给的临时网卡并且生效并且可以使用,在下一次重启服务器的时候网卡就会按照你的配置文件中的配置生效了
此方法优点:生效快,操作简单
此方法缺点:在配置文件中如果写错了你要配置的网卡IP可能会在下一次重启后失败
- 第二种方法
- 修改interfaces配置文件后,直接针对你要使用的网卡 :
sudo ifconfig eth0 down
sudo ifconfig eth0 up
- 手动重启你需要修改的网卡,IP地址也可以生效(如果这种方式和重启service networking 都没生效还是建议使用临时修改网卡+空闲时重启)
如果不喜欢读上面的文字,可以直接看下面的命令
第一种方法:
sudo ifconfig -a #找到你要修改的网卡名称
sudo vi /etc/network/interfaces #修改网卡配置文件
sudo service networking restart #重启网卡服务
如果重启失败,则确认配置文件是否正确给你要修改的网卡临时IP
sudo ifconfig eth0 192.168.2.105 #eth0 和后面的IP换成你自己的
sudo ifconfig #查看网卡IP 不需要 -a
第二种方法
sudo ifconfig -a #找到你要修改的网卡名称
sudo vi /etc/network/interfaces #修改网卡配置文件
sudo ifconfig eth0 down #eth0为你要修改的网卡IP
sudo ifconfig eth0 up
最后还要备注几个小问题的是:很多时候我们给服务器的非管理口网卡配置了一个IP后,重启网卡倒是从管理口的链接ssh无法登陆,很有可能就是你的非管理口网卡IP是和你的本地电脑IP在相同的网段了,这时就是导致管理口无法连接,但是同网段的其他服务器是可以连接的。这一点要注意