您的位置:首页 > 运维架构 > Linux

linux——单网卡配置双(多)ip

2016-04-02 09:24 651 查看
今天打开电脑,启用Putty远程登录虚拟机CentOS6时,提示登录失败,就想到自己把电脑换地方了,so,意味着CentOS6的ip也发生了变化,所以远程登录自然失败。一开始想到的是去修改
/etc/sysconfig/network-scripts/ifcfg-eth0
里面的配置文件,但是我的电脑是经常徘徊于两个地方的,而这两个地方的内网的网段又不同,为了不经常修改这个配置文件而且在两个地方都等远程虚拟机进行操作,就想其他办法了。

刚好碰到一个linux练习题:给一个网卡配置多个IP。这就能很好的解决我的问题了。这里我配置两个IP,即在原来的基础上再增加一个,配置过程如下:

(1)仿照/etc/sysconfig/network-scripts/ifcfg-eth0增加一文件,根据网络虚拟接口的名字进行命名。

例如ifcfg-eth0:0或者ifcfg-eth0:1等等,这里我的操作是:复制ifcfg-eth0 为ifcfg-eth0:1

[root@Coohx ~]# cd /etc/sysconfig/network-scripts/
[root@Coohx network-scripts]# cp ifcfg-eth0 ifcfg-eth0\:1 #'\'脱意


(2)然后用vim进行编辑

[root@Coohx network-scripts]# vim ifcfg-eth0\:1

#下边看下ifcfg-eth0:1文件里面的配置信息
DEVICE=eth0:1           #网络虚拟接口eth0:1
ONBOOT=yes              #启动的时候激活
BOOTPROTO=static        #使用静态ip地址
IPADDR=192.168.0.118    #分配ip地址
NETMASK=255.255.255.0   #子网掩码
GATEWAY=192.168.0.1     #网关
其他配置文件类似.


(3)保存退出然后把eth0:1激活。

[root@Coohx network-scripts]# ifconfig eth0:1 up


(4)重启网络服务

[root@Coohx network-scripts]# service network restart
正在关闭接口 eth0:                                        [确定]
关闭环回接口:                                             [确定]
弹出环回接口:                                             [确定]
弹出界面 eth0: Determining if ip address 192.168.1.118 is already in use for device eth0...
Determining if ip address 192.168.0.118 is already in use for device eth0...


(5)查看网卡ip信息

[root@Coohx network-scripts]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0C:29:FC:C1:4F
inet addr:192.168.1.118  Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fefc:c14f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:2494 errors:0 dropped:0 overruns:0 frame:0
TX packets:1868 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:244896 (239.1 KiB)  TX bytes:174492 (170.4 KiB)

**eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:FC:C1:4F
inet addr:192.168.0.118  Bcast:192.168.0.255**  Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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:659 errors:0 dropped:0 overruns:0 frame:0
TX packets:659 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:60990 (59.5 KiB)  TX bytes:60990 (59.5 KiB)


如上:网卡eth0上增加了一个虚拟网络接口eth0:1,IP为:192.168.0.118

(5)ping测试是否成功

[root@Coohx network-scripts]# ping www.mi.com
PING 1st.dtwscachev485.ourwebcdn.com (36.248.11.122) 56(84) bytes of data.
64 bytes from 36.248.11.122: icmp_seq=1 ttl=50 time=73.1 ms
64 bytes from 36.248.11.122: icmp_seq=2 ttl=50 time=81.0 ms
64 bytes from 36.248.11.122: icmp_seq=3 ttl=50 time=80.0 ms
64 bytes from 36.248.11.122: icmp_seq=4 ttl=50 time=77.6 ms
^C
--- 1st.dtwscachev485.ourwebcdn.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7703ms
rtt min/avg/max/mdev = 73.184/77.988/81.065/3.043 ms


如上:ping成功,然后PuTTY远程连接成功。这里的问题时,这种方法的连接速度很慢。

RedHat Linux一个网卡配置多个IP

linux下一个网卡如何配置多个IP?RedHat linux下边图形界面的网络配置没有找到在哪里配置第二个IP的地方。

如果临时性的增加一个IP(重启后就丢失了),可以使用ifconfig命令;ifconfig的用法可以使用man ifconfig查看,最常用的给网卡配置ip的命令为

ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
说明:
eth0是第一个网卡,其他依次为eth1,eth*
192.168.0.1是给网卡配置的第一个网卡配置的ip地址
netmask 255.255.255.0 配置的是子网掩码
up是表示立即激活


如果给单个网卡eth0配置多个ip地址如何操作呢,如果使用ifconfig命令那么上边需要改动的地方只有eth0这个而已,查了一些资料,明白了将 :

eth0改为eth0:x(x是0-255例如eth0:0或者eth0:1等等),
eth0:x称为虚拟网络接口,是建立在网络借口 (eth0)上边。


所以给单网卡配置多ip的方法就是使用命令:

ifconfig eth0:0 192.168.0.1 netmask 255.255.255.0 up
ifconfig eth0:1 192.168.0.2 netmask 255.255.255.0 up
ping 192.168.0.1
ping 192.168.0.2


ping测试通过,就完成了单网卡配置多ip的功能。

reboot以后发现ip地址变了回去,所以必须设置启动时自动激活ip设置

第一种:

将上边的命令ifconfig加入到/etc/rc.local中去

第二种:

就是仿照/etc/sysconfig/network-scripts/ifcfg-eth0增加一文件根据网络虚拟接口的名字进行命名

例如ifcfg-eth0:0或者ifcfg-eth0:1等等

如何关闭一个ip,则使用

ifconfig eth*[:x] down(*代表的是网卡编号,x代表虚拟接口号0-255)


问题补充:

当这样一个网卡配置了双IP以后,在这台机子上对其他机器做nat路由转发时,必须关掉一个ip,即关掉eth0:1,才可以实现另外一台访问公网。不知道为什么,欢迎大牛指导~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: