注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

骐骥一跃

日积跬步 业精于勤荒于嬉

 
 
 

日志

 
 

[原创]Linux系列04-网络属性配置  

2016-03-23 20:15:35|  分类: Unix/Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
目录:

配置方式:
    静态指定:
        ifcfg: ifconfig, route
        ip: link, addr, route
        配置文件
            system-config-network-tui (setup)
        CentOS 7: 
            nmcli, mntui

    动态分配:
        DHCP: Dynamic Host Configuration Protocol

-----------------------------------------------------------------------------


在CentOS6.7最小化安装下,如果安装的时候没有指定ip,或者安装时指定了ip却没有启动,需要手工配置。配置网卡属性,其实是配置内核的网络属性。因为网络属于内核的功能,而不是针对网卡的,只是将此配置信息绑定在网卡上。

所以理论上单网卡是可以配置成跨网段。


一、网卡配置

1、ifconfig(interface config)
语法:
    ifconfig [interface]
    ifconfig interface [aftype] options | address ...

范例一:查看所有的网络接口(直接输入 ifconfig)

[root@ns ~]# ifconfig
eth0  Link encap:Ethernet  HWaddr 00:0C:29:00:A8:09  
          inet addr:192.168.163.12  Bcast:192.168.163.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe00:a809/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2387483 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3497 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:389766893 (371.7 MiB)  TX bytes:608207 (593.9 KiB)

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:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

一般来说,直接输入ifconfig就会列出目前已经被激活(up)的网卡,不论这个卡是否有设置IP,都会被显示出 
来。而如果是输入 ifconfig eth0,则会显示出eth0这个接口的相关数据,而不管该接口是否启动。所以,如果
你想要知道某个网卡的Hardware Address,直接输入“ifconfig"网络接口代号"”即可。至于上述代码中
出现的各项数据是这样的(数据排列由上而下、由左而右)。

· eth0:网卡的代号,lo是回环地址loopback。
· HWaddr:网卡的硬件地址,习惯称为MAC。
· inet addr:IPv4的IP地址,后续的Bcase、Mask分别代表的是Broadcast与Netmask。
· inet6 addr:是IPv6的版本的IP,我们没有使用,所以略过。
· RX:那一行代表的是网络由启动到目前为止的数据包接收情况,packets代表数据包数、errors代表数
据包发生错误的数量、dropped代表数据包由于有问题而遭丢弃的数量等。
· TX:与RX相反,为网络由启动到目前为止的传送情况。
· collisions:代表数据包碰撞的情况,如果发生太多次,表示你的网络状况不太好。
· txqueuelen:代表用来传输数据的缓冲区的储存长度。
· RX Bytes、TX Bytes:总传送、接收的字节总量。


# 范例二:临时修改网卡属性,给予 eth0 一个 192.168.100.100/24 的参数
[root@ns ~]# ifconfig eth0 192.168.100.100
# 如果不加任何其他参数,则系统会依照该 IP 所在的 class 范围,自动的计算
# netmask 以及 network, broadcast 等 IP 参数,若想改其他参数则:
[root@ns ~]# ifconfig eth0 192.168.100.100 netmask 255.255.255.128 mtu 8000
# 设定不同参数的网络接口,同时设定 MTU 的数值!
[root@ns ~]# ifconfig eth0 mtu 9000# 仅修改该接口的 MTU 数值,其他的保持不动!
[root@ns ~]# ifconfig eth0:0 192.168.50.50
# 仔细看那个界面是 eth0:0 喔!那就是在该实体网卡上,再仿真一个网络接口,
# 亦即是在一张网络卡上面设定多个 IP 的意思啦!(给eth0网卡一个别名alias)

[root@ns ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:71:85:BD
          inet addr:192.168.100.100  Bcast:192.168.100.127  Mask:255.255.255.128
          inet6 addr: fe80::a00:27ff:fe71:85bd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:9000  Metric:1
          RX packets:2555 errors:0 dropped:0 overruns:0 frame:0
          TX packets:70 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:239892 (234.2 KiB)  TX bytes:11153 (10.8 KiB)
eth0:0    Link encap:Ethernet  HWaddr 08:00:27:71:85:BD
          inet addr:192.168.50.50  Bcast:192.168.50.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:9000  Metric:1
# 仔细看,是否与硬件有关的信息都相同啊!没错!因为是同一张网卡嘛!
# 那如果想要将刚刚建立的那张 eth0:0 关闭就好,不影响原有的 eth0 呢?
[root@ns ~]# ifconfig eth0:0 down
# 关掉 eth0:0 这个界面。那如果想用默认值启动 eth1:『ifconfig eth1 up』即可达成
# 范例三:将手动的处理全部取消,使用原有的设定值重建网络参数:
[root@ns ~]# /etc/init.d/network restart
# 刚刚设定的数据全部失效,会以 ifcfg-ethX 的设定为主!
使用ifconfig可以暂时用手动来设置或修改某个适配卡的相关功能,并且也可以通过eth0:0这种虚拟的网
络接口来设置一张网卡上面的多个 IP。手动的方式是比较简单。而且设置错误也没有关系,因为我们可以
利用 /etc/init.d/network restart来重新启动整个网络接口,那么之前手动的设置数据会全部失效。另
外,要启动某个网络接口,但又不让它具有IP参数时,直接给它 ifconfig eth0 up即可。这个操作经常在
无线网卡当中进行,因为我们需要启动无线网卡让它去检测AP存在与否。

小结:
    ifconfig :  查看(显示)当前系统已被激活(up)网卡的信息,包括回环地址。
    ifconfig -a :  查看(显示)所有网卡的信息,包括激活(up)或者未激活(down)的网卡。
    ifconfig [interface] : 查看(显示)指定网卡名(包括网卡别名)的信息。
    ifconfig [interface]  IP/mask [up|down]  :  临时配置网卡属性,启用或禁用,默认是禁用的。
    ifconfig [interface] IP netmask MASK [up|down] : 同上。掩码由长度改为完全掩码而已。
    ifconfig [-]promisc : 启用混杂模式。以后监控要用到。比如,A机发广播报文,目标是B机,C机启用了混杂模式,即使不是发给C机自己的报文,也可以截取,可以抓包。


2. ifup、ifdown
实时地手动修改一些网络接口参数,可以利用ifconfig来实现。如果是要直接以配置文件,亦即是在 /etc/
sysconfig/network-scripts里面的ifcfg-ethx等文件的设置参数来启动,或者在安装时指定了ip地址却没有启用网卡,ifconfig也看不到ip等信息,那就得要通过ifdown或ifup来实现了。

[root@ns ~]# ifup {interface}
[root@ns ~]# ifdown {interface}
[root@ns ~]# ifup eth0

ifup与ifdown真是太简单了。这两个程序其实是script而已,它会直接到 /etc/ sysconfig/networkscripts
目录下搜索对应的配置文件,例如ifup eth0,它会找出ifcfg-eth0这个文件的内容,然后加以设置。关于ifcfg-eth0的设置请参考前一章连上Internet的说明。

不过,由于这两个程序主要是搜索设置文件(ifcfg-ethx)来进行启动与关闭的,所以在使用前请确定ifcfg-ethx是否真的存在于正确 的目录内,否则会启动失败。另外,如果以ifconfig eth0来设置或者是修改了网络接口后,就无法再以ifdown eth0的方式来关闭了。因为ifdown会分析比较目前的网络参数与ifcfg-eth0是否相符,不符的话,就会放弃这次操作。因此,使用 ifconfig修改完毕后,应该要以ifconfig eth0 down才能够关闭该接口。

小结:
网络服务启动与关闭
    方法一:
        [root@localhost ~]# service network stop    #关闭网络服务
        [root@localhost ~]# service network start   #启动网络服务
        [root@localhost ~]# service network restart #重启网络服务
    方法二:
        [root@localhost ~]# /etc/init.d/network stop
        [root@localhost ~]# /etc/init.d/network start
        [root@localhost ~]# /etc/init.d/network restart

        /etc/init.d/network {start|stop|status|restart|reload|force-reload}

网卡状态查询
    [root@localhost ~]# service network status
    Configured devices:
    lo eth0
    Currently active devices:
    lo eth0



3、永久配置

通过上面我们了解了利用ifconfig来配置临时的网络IP地址,重启网络功能后恢复为网卡配置文件所指定的参数,并且是立即生效的我们不能每次使用电脑的时候都配置IP地址,那太麻烦。所以我们需要把IP地址配置为固定的IP或者通过DHCP服务来获取,这样的配置就需要修改系统的网络配置文件了。网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0(设备的第一个网卡的名字叫ifcfg-eth0,如果有第二块叫ifcfg-eth1,以此类推,例如/etc/sysconfig/network-scripts/ifcfg-eth[0-9]等)。下面我们就来看看怎么定义这个文件内的内容。
 
最小化安装没有安装vim,可用vi命令。

配置文件如下:

DEVICE=eth0     ……………………………………………………………..设备的名称
HWADDR=00:0C:29:B3:7B:7D           ……………………….硬件地址,即MAC地址
TYPE=Ethernet     ………………………………………………………网络类型,以太网
UUID=618cdc88-b304-4b24-af0d-24816f80943a    …………………….通用唯一标识码
ONBOOT=no                         ………………………..系统启动是否打开此网卡
NM_CONTROLLED=yes     …….设备eth0是否可以由Network Manager图形管理工具托管
BOOTPROTO=dhcp           ………………………  启动协议是否是dhcp还是静态分配

手工添加ip
IPADDR=192.168.1.115   …………………………………………ip地址
NETMASK=255.255.255.0 ………………………………………….子网掩码
GATEWAY=192.168.1.1 ………………………………………………默认网关
DNS1=192.168.1.1 ……………………………………………………DNS服务器
DNS2=8.8.8.8

按下Esc键,退出编辑模式,按下“Shift+:”,键盘输入wq保存退出。w保存修改不退出,q不保存修改退出,wq保存修改并退出。

然后重启网络服务service network restart ,再用“ifconfig –a”查看网卡信息。

二、路由配置
路由管理命令
    查看:route
    查看:route -n     #反解析ip地址
    添加:route add  #添加路由条目
        route add  [-net|-host]  target [netmask Nm] [gw Gw] [[dev] If] 

             目标:192.168.1.3  网关:172.16.0.1
             ~]# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

             目标:192.168.0.0 网关:172.16.0.1
             ~]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
             ~]# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

             默认路由,网关:172.16.0.1
             ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
             ~]# route add default gw 172.16.0.1

    删除:route del
        route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

       目标:192.168.1.3  网关:172.16.0.1
       ~]# route del -host 192.168.1.3

       目标:192.168.0.0 网关:172.16.0.1
       ~]# route del -net 192.168.0.0 netmask 255.255.255.0

注意,以上路由设置也是立即生效,而不是永久生效,内核或服务重启后失效。
       
三、DNS服务器指定
要配置好网络属性,ip指定了,路由添加了,还要指定DNS服务器。

1、指定网络DNS
编辑 /etc/resolv.conf 文件
    nameserver DNS_SERVER_IP1
    nameserver DNS_SERVER_IP2
    nameserver DNS_SERVER_IP3

DNS提供正向解析和反向解析。正向解析是解析FQDN到ip,反向解析是解析ip到FQDN。FQDN((Fully Qualified Domain Name)的最后必须有个英文点号。例如: FQDN: www.magedu.com.

配置完DNS服务器指定,下面做解析测试,解析测试用dig命令。简单测试用host命令。

正向解析:FQDN-->IP
                           # dig -t A FQDN
                           # host -t A FQDN
反向解析:IP-->FQDN
                           # dig -x IP
                           # host -t PTR IP

2、指定本地解析:

/etc/hosts


四、配置主机名

配置主机名:

hostname HOSTNAME

立即生效,但不是永久有效;


永久生效,编辑配置文件

/etc/sysconfig/network

HOSTNAME=

GATEWAY=


五、网络状态查看命令
netstat命令:
    netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

    显示网络连接:
        netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]]  [--program|-p]
            -t: tcp协议相关
            -u: udp协议相关
            -w: raw socket相关
            -l: 处于监听状态
            -a: 所有状态
            -n: 以数字显示IP和端口;
            -e:扩展格式
            -p: 显示相关进程及PID

    常用组合:
        -tan, -uan, -tnl, -unl

    显示路由表:
        netstat  {--route|-r} [--numeric|-n]
            -r: 显示内核路由表
            -n: 数字格式

    显示接口统计数据:
        netstat  {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n] 
            # netstat -i
            # netstat -I IFACE





 

 

2016年4月16日 20:31:16 更新

  评论这张
 
阅读(333)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018