一、定义名称:(如图所示)

 RHEL5 :是通过alias来定义的。/etc/modprobe.conf

RHEL6 /etc/udev/rules.d/70-persistent-net.rules

上面的是RHEL5的,从里面可以看到都是用alias定义的,这两个pcnet32说明都是同一个类型的网卡的驱动程序。而RHEL6上不是用alisa定义的是用udev定义的。如下图:蓝色方框说明定义了网络设备,在紫色方框中指的是当你的MAC地址是后面那个地址时,在内核中是eth*(绿色方框)的时候,给他起名为eth1(棕色方框)。如果是下面那个地址的话是eth0(红线划得)。

Linux 网络配置及应用(详细版)_第1张图片

Linux 网络配置及应用(详细版)_第2张图片

内核当中网卡的命名方式:

以太网:eth#(以eth开头后面跟着一个数字)

二、ifconfig:

1ifconfig :用来实现网络配置的,可以直接显示当前主机上处于活动状态网卡的信息。【提示:只截了一个来进行说明,下面那个lo是本地环回接口,就是本机既做服务器端又做客户端,自己跟自己联系时候用到的】如下:

[root@localhost ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:C0:AB:50  【前面是二层网路所使用的协议:以太网。后面是物理地址,分为六段】

          inet addr:172.16.58.1  Bcast:172.16.255.255  Mask:255.255.0.0【前面是IP地址,中间的是广播地址 ,后面是子网掩码】

 inet6 addr:fe80::20c:29ff:feb5:7304/64 Scope:LinkIPv6的默认地址,Scope指的是IPv6的作用范围,Link指的是对当前的网卡有效,这个网卡只在内部有效】 

 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1UP表示启用,BROADCAST:允许广播,RUNNING:运行,MULTICAST:允许多播,MTU:最大传输单元,Metric:度量】

          RX packets:434400 errors:0 dropped:0 overruns:0 frame:0 RX:接受到的 packets:接收到的报文的个数,errors:错误的个数,dropped:丢弃的个数,overruns溢出的个数,frame:帧数】

          TX packets:160869 errors:0 dropped:0 overruns:0 carrier:0TX:传给别人的,packets:传出去的数据包的个数(剩下的同上)】

          collisions:0 txqueuelen:1000 【前面的是有多少冲突发生,后面是传输队列的长度】

          RX bytes:72795378 (69.4 MiB)  TX bytes:185618056 (177.0 MiB)【前面是收到的字节数,后面是传出去的字节数】

          Interrupt:67 Base address:0x2000【前面是终端号】

      2 -a:显示所有连接包括sit0可以实现IPV4IPV6转换的连接或那些非活动链接,那些没有地址的,而且我们没有启用的也可以显示。(只把显示的不同剪切出来了)如图:


 3Ifconfig eth#:只显示某一个的信息。

4、如何用ifconfig来配置网络地址(只显示更改的,有变化的)这里的广播地址和子网掩码都是自己生成的【注意:配置的地址立即生效,但是重启网络服务或主机,都会失效】如图:

 格式:ifconfig eth# IP/MASK(地址/掩码) 例如:ifconfig eth1 10.1.1.1/8

Linux 网络配置及应用(详细版)_第3张图片

5、使用ifconfig禁用IP地址的时候,我们使用down但是不需要输入IP地址了,使用down我们在使用ifconfig就查不到了,用-a才能查看到。

  格式:ifconfig eth#  [up|down]

三、网络服务:

其实RedHat Linux上对于网络地址的管理可以通过一个内置的服务脚本来实现。(RHEL6也支持上面那个脚本,但默认是下面那个脚本,但是下面的功能还是不够完善,尤其是在集群当中是没法使用它作为管理脚本的,所以建议你直接把下面那个给禁了,还是用上面那个脚本)

RHEL5: /etc/init.d/network {start|stop|restart|status}

RHEL6/etc/init.d/NetworkManager {start|stop|restart|status}

四、如何添加网关:【提示:所做出的改动重启网络服务或主机后失效】

      route

         add:添加

              -host:添加主机路由

                       -net:添加网路路由

                          -net 0.0.0.0:添加默认路由

例如:我们的主机IP地址是192.168.10.123能够和网关10.1.0.0通信,我们添加一个路由要想通过10.0.0.0网络可以通过192.168.10.123到达。

    格式:route add -net|-host DEST gw NEXTHOP

                 route add default gw NEXTHOP

例如:route add –net 10.0.0.0/8 gw 192.168.10.1 (单独route查看本地路由表的)。看到红色框中是查看目标网络10.0.0.0要通过(蓝色框)192.168.10.1。发现下面有个default了吧(紫色线划的),到达目标是0.0.0.0的时候通过172.16.0.1,这是我们系统上自动配置的。【图中U表示启用状态,G表示网关路由,而172.16.0.0没有网关路由则说明它是本地网络】如图:

Linux 网络配置及应用(详细版)_第4张图片

例如:我们添加到任何主机都可以经过192.168.10.1(紫色方框)。【删除的时候只加default也可以】如图:

Linux 网络配置及应用(详细版)_第5张图片

 del:删除

             -host:删除主机路由

                      -net:删除网路路由

例如:我们删除10.0.0.0这条路由信息,如果只有这条我们就不用写后面的gw也能删除。我们删除默认路由信息(蓝色框),我们是不用写掩码的因为默认路由没有掩码。这里你们是不是发现了这里的route后面跟了-n,这个是以数字信息来显示的,在紫色框中不在显示default了。

Linux 网络配置及应用(详细版)_第6张图片

查看:

   route -n:以数字方式显示个主机或端口等相关信息

五、配置文件【提示:不会立即生效,但重启网络服务或主机都会生效】

1、网络配置文件:

     /etc/sysconfig/network:网络服务总开关的位置,包括主机名的定义都在这里。

2、网络接口配置文件:

/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME

例如:我们查看/etc/sysconfig/network-scripts/下面的文件的格式如:ifcfg-eth0

# cd /etc/sysconfig/network-scripts

# cat ifcfg-eth0

Linux 网络配置及应用(详细版)_第7张图片

想让更改的信息重启后有效格式如下:

DEVICE=:相关联的设备名称,要于文件名的后半部“”INTERFACE_NAME"保持一致

BOOTPROTO={static|none|dhcp|bootp};引导协议:要使用静态地 ifcfg-eth0址,使用staticnonedhcp表示使用DHCP服务器获取地址;

IPADDR=:IP地址

NWRMASK=子网掩码

GATEWAY=:设定默认网关

ONBOOT=:开机时否自动激活此网络接口

HWADDR=:硬件地址,要于硬件中的地址保持一致;可省

USERCTL={yes|no}:是否允许普通用户控制此接口

PEERDNS={yes|no}:是否在BOOTPROTOdhcp是接受由DHCP服务器指定的DNS地址

   例如:我们我们把它的地址设定为10.10.10.1条件是重启了服务也是有效的。

     首先我们必须进入到/etc/sysconfig/network-scripts这个目录下。把里面的信息更改了,格式如上面的格式一样【注意:等号两边不能有空格】如图:

然后我们ifconfig查看,没有改变我们必须用/etc/init.d/network restart重启一下,然后再用ifconfig查看一下,这时候就会发现改变了。

 六、配置路由信息:

       /etc/sysconfig/network-scripts/route-eth#:打算通过哪个网卡来配置你的路由

      添加格式一:

      DEST via   NEXTHOP :主机或网络+via(关键字)+下一跳【注意:如果是网络一定要加掩码】

例如:假如说我们要到达192.168.10.0这个网络就要通过10.10.10.254来到到

我们只需要进入/etc/sysconfig/network-scripts目录下,然后编辑vim route-eth1,在里面填入一句

192.168.10.0 via    10.10.10.254 就行了,然后/etc/init.d/network restart重启,在查看就行了。

添加格式二:(三个为一组,可以写多组)

ADDRESS0=:目标地址是哪

 NETMASK0=:掩码是什么

GATEWAY0=:下一跳

还是上面的一道题我们用格式二来定义。【注意:两种格式不能混用】

   首先我们还是要进入/etc/sysconfig/network-scripts目录下然后编辑vim route-eth1,在里面填入。ADDRESS0=192.168.10.0

NETMASK0=255.255.255.0

GATEWAY0=10.10.10.254

然后/etc/init.d/network restart重启,然后查看就行了。

格式一与格式二的结果都是一样的,两种方法都是永久生效的。

七、定义DNS服务器(方法只有一种)

     /etc/ resolv.conf

  nameserver DNS_IP_1 (可以最多有三个)

nameserver DNS_IP_2

【提示:这个文件在你使用dhcp为某个网卡指定地址的时候,这个dhcp服务器协议可以会修改这个文件的,也就是你“网络接口配置里面的格式中如果BOOTPROTO=dhcp,是会改你的这个文件,如果不想让改就用PEERDNS=no

例如:我们看看它的DNS服务器指向的是192.168.0.254,我们就将其更改为172.16.0.1再添加一个为202.102.224.68

八、指定本地解析

例如:我想用www这主机别名访问172.16.0.1,而且用www.magedu.com主机名来访问(最后一行是添加的)。

 格式:主机IP  主机名  主机别名  

例如:172.168.0.1   www.magedu.com    www

九、配置主机名:

hostname HOSTNAME (立即生效,但不是永久生效)

    想立即生效,就去编辑下面这个文件。这里重启网络服务跟主机名没什么,所以重启网络服务不会影响主机名,通常重启主机主机名才会生效的。从第三个图中的方框中可以看到我们虽然重启网络服务但是它主机名字还是没有更改。前两个图中的第一个是:是否启用网络功能的,如果是no,你无论地址怎么配也不可能生效。第二个是:是否启用IPv6的,这里的no不能彻底禁用本地的IPv6,除非把IPv6的模块给卸载掉,否则就会使用IPv6的。

/etc/sysconfig/network

HOSTNAME=


Linux 网络配置及应用(详细版)_第8张图片

要想立刻更改主机名就用第一个更改的命令。【提示:这两个命令一块用,这次是有效的,从其之后还是有效的】如图:

进入图形化界面修改:

   RHEL5:

     setup: system-config-nentwork –tui(打开图形界面)

        system-config-network-gui(纯粹的图形化界面,只能在图形化窗口下才能用到)

我们用setup的时候打开的可能是乱码,我们就用export LANG=en 再重新输入setup进入的就不是乱码了。下来就进入图形界面了,选第四个网络类型控制面板进行回车。

Linux 网络配置及应用(详细版)_第9张图片Linux 网络配置及应用(详细版)_第10张图片

上面第二个图第一个是设备配置,第二个是DNS配置,选择第一个回车

Linux 网络配置及应用(详细版)_第11张图片

选择网卡,然后回车

Linux 网络配置及应用(详细版)_第12张图片

然后就可以配置了。【注意:这里的配置也是直接修改配置文件的不会立即生效,和用vim编辑是一样的】

十、iproute2:(强大的软件包)

       ip

          link:配置网络接口属性的

          addr:协议地址

                route:路由

       link:

                 show:查看网络接口的(跟ifconfig查看的内容一样)

                     ip  -s link show :-s显示统计信息的)

                 set:指定网卡是谁

                        ip link set DEV {up|down}

              addr:

                  add:添加

                        ip addr add ADDRESS  dev DEV

                     del:删除

                        ip addr del   ADDRESS  dev DEV

                     show:查看

–to:显示某些相关的地址

                        ip addr del

                     flush :清除(一次可以删除多个地址)

                     ip addr flush  ADDRESS  dev DEV

 eth1添加一个地址,我们再用ip addr show 查看,是非主要地址。


Linux 网络配置及应用(详细版)_第13张图片

一块网卡可以使用多个地址:

网络设备可以设定别名:

eth0

   eth#:#eth0:0 eth0:1....

例如:我们给eth0再设置一个地址,我们用ifconfig eth0:0 172.16.200.33/16来添加,然后再用ifconfig查看(只剪切了有用的),如图:

Linux 网络配置及应用(详细版)_第14张图片

然后我们就ping一下就知道了。

  配置方法:

        ifconfig eth#:# IP/NETMASK

       /etc/sysconfig/network-scripts/ifcfg-eth#:#

       DEVICE=eth##

  非主要地址不能使用DHCP同台获取