很久没发布伪技术文章了,今天说一个简单的问题,给网卡设定IP地址。
1.在Linux下给网卡设定IP地址
1.1给一个网卡设定单一的IP地址
方法很多,但归根结底还是修改/etc/sysconfig/network-scripts下的网卡配置文件。(以RHEL为例,其他版本有的放在/etc/sysconfig/network下,有的直接在/etc下做link)
[root@loneblog ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
HWADDR=00:0C:29:11:11:11
TYPE=Ethernet
这是一个标准的静态IP地址(static ip address)配置文件,下面是一个标准的通过DHCP服务器分配地址的配置文件
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
HWADDR=00:0c:29:11:22:11
TYPE=Ethernet
保存配置文件后重启网卡生效。
1.2给一个网卡设定多个IP地址(子接口)
手动添加ifcfg-ethx:x文件,例如给eth0添加另一个子接口的IP地址:
[root@loneblog network-scripts]# cp ifcfg-eth0 ifcfg-eth0:1
然后和1.1配置一个新网卡一样,配置ifcfg-eth0:1即可。
保存配置文件后重启网卡生效。
1.3给一个网卡设定连续的IP地址(地址段)
手动添加ifcfg-ethx-rangex文件,配置如下:
[root@loneblog network-scripts]# cp ifcfg-eth1 ifcfg-eth1-range0
[root@loneblog network-scripts]# vim ifcfg-eth1-range0DEVICE=eth1-range0
ONBOOT=yes
BOOTPROTO=static
IPADDR_START=192.168.2.100
IPADDR_END=192.168.2.200
#配置了从192.168.2.100到200的子接口
NETMASK=255.255.255.0
HWADDR=00:0C:29:11:11:11
TYPE=Ethernet
保存配置文件后重启网卡生效,查看网络接口状态和一个一个配置子接口是一样的,如下:
[root@loneblog network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:5E:B4:16
inet addr:10.0.90.1 Bcast:10.0.90.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe5e:b416/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:53 errors:0 dropped:0 overruns:0 frame:0
TX packets:70 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10949 (10.6 KiB) TX bytes:11797 (11.5 KiB)eth0: Link encap:Ethernet HWaddr 00:0C:29:5E:B4:16
inet addr:192.168.2.100 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1eth0:1 Link encap:Ethernet HWaddr 00:0C:29:5E:B4:16
inet addr:192.168.2.101 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1eth0:2 Link encap:Ethernet HWaddr 00:0C:29:5E:B4:16
inet addr:192.168.2.102 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1eth0:3 Link encap:Ethernet HWaddr 00:0C:29:5E:B4:16
inet addr:192.168.2.103 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
这里需要注意:子接口都必须在接口配置存在的情况下,比如:
[root@loneblog network-scripts]# mv ifcfg-eth0 ifcfg-eth0.bak
[root@loneblog network-scripts]# ifdown eth0
用法: ifdown <设备名>
仅存在子接口的配置文件是不行的。
2.windows下网卡设置多个IP地址
以window xp为例:
“开始”→“设置”→“控制面板”,双击“网络和拨号连接”,右键单击“本地连接”,选择“属性”调出“本地连接属性”面板
选择 “Internet协议(TCP/IP)”,点击“属性”调出“Internet协议(TCP/IP)属性”面板,点击下方的“高级”调出“高级 TCP/IP设置”面板。
在IP地址栏下面列出了网卡已设定的IP地址和子网掩码,点击[添加]按钮,在弹出的对话框中填上新的IP地址,添加新的网关;切换到NDS选项卡,DNS服务器下面列出了当前DNS的IP,点击[添加]按钮,在的对话框中填上新的DNS的IP,设置完成了点确实。
3.多个IP如何工作
冷博客看网上很多网友都对默认网关和多IP网卡有误解,这里说一下我的理解。
首先,不管unix也好,windows也好,都只能设置一个默认网关,windows里叫默认网管,Linux就是GATEWAY。从命令行里我们可以看的更清楚,所谓默认网关就是默认路由,所有数据如果没有更好的出路就走这条道了。
所以,在一台PC多个网卡的情况下,我们只能在其中一个设定默认网关,否则电脑不知道向哪里发送数据。另一个网卡的内容我们可以通过手动添加路由的方法,指定数据流向。
然后,在一个网卡多个IP地址的情况,PC终端同样是手动添加路由和默认网关,然后对端设备一定要以一个三层设备终结,否则就没意义了。一个有路由功能的设备把两个地址分开进行路由即可。




评论