首页 > 代码库 > 日志 ; 计划任务 ; 网络配置

日志 ; 计划任务 ; 网络配置

日志分两个,一个是rsyslog 日志服务,一个是日志轮转(就是日志的分离和切割)logrotate

对了日志服务rsyslog 来说,它自带了一个服务叫做logrotate;这两个一般都是一起用;

一个日志文件如果扩大,一定会被分离的;否则文件会打不开;对于系统来讲,记录日志是通过主服务来讲的,就是这个服务:[root@server ~]# /etc/init.d/rsyslog默认这个服务是启动的;如果这个服务关了,系统是不会为我们记录日志的;很多服务和应用都是靠rsyslog这个服务来记录的

rsyslog对应的配置文件是[root@server ~]# vim /etc/rsyslog.conf#这是日志服务的主配置文件

34 #### RULES #### #这是日志规则(第34行是日志规则)

一、处理日志的进程

rsyslogd:绝大部分日志记录,和系统操作有关,安全,认证,计划任务...

          rsyslogd不负责处理日志,只记录日志

处理日志:1.少量日志可以使用vim cat tail less more grep awk这些文档处理程序查看和检索

          2.大量日志可以用splunklogserch #splunk给日志做分期

日志分类:系统日志,进程日志,应用程序(某些应用程序例如httpdnginxmysql,可以以自己的方式记录日志)

 

记录日志原因: 拍错,追溯事件,统计流量

日志可以存放在本地

日志可以存放在远程服务器

 

二、常见的日志文件

# ls /var/log/     #默认存放各种日志的地方

# tail /var/log/messages  #系统主日志文件

# tail -f /var/log/messages    #动态查看日志文件的尾部

# tail -f /var/log/secure #认证、安全

# tail /var/log/maillog #跟邮件(sendmail,postfix)相关

# tail /var/log/cron   #crondat进程产生的日志

# tail /var/log/dmesg  #和系统启动相关-开机后不再记录,可以使用dmesg命令查看活动的日志

# grep -i eth /var/log/dmesg    #只反映出开机过程的信息,开机成功后不会再改变

# dmesg            #查看系统开机后的信息

# tail /var/log/audit/audit.log        #系统审计日志

# tail /var/log/yum.log

# tail /var/log/mysqld.log           #mysql进程自己记录的日志

# tail /var/log/httpd/access_log     #httpd进程自己记录的日志

# tail /var/log/xferlog    #和访问FTP服务器相关

# w #当前登录的用户 /var/log/wtmp

# last #最近登录的用户 /var/log/btmp

# lastlog #所有用户的登录情况 /var/log/lastlog

三、rsyslogd系统

rsyslogd是如何工作的:应用程序或者进程------->设备------->级别--------->动作(规则)

# rpm -qc rsyslog

 

/etc/logrotate.d/syslog    #和日志的轮转(切割)有关

/etc/rsyslog.conf         #rsyslogd的主配置文件

/etc/rsyslog.d/*.conf

/etc/sysconfig/rsyslog        

 

  # vim /etc/rsyslog.conf 这是主配置文件里面的默认规则

========================================================

==规则:Rules

告诉rsyslogd进程哪个设备(facility),关于哪个级别的信息,以及如何处理,不同的应用程序会选择不同的设备进行日志记录

authpriv.*        /var/log/secure #和安全认证相关的

mail.*          -/var/log/maillog 延迟一段时间再记录 前面横杠代表异物存储,先写在内存里,等不忙的时候在记录在文件里;不带横杠是产生日志马上写到磁盘文件

cron.*         /var/log/cron

mail.info  /var/log/maillog  级别是info

authpriv.*  * (所有终端,包括debug)  代表日志文件不记录在任何一个文件;在所有终端打印;一般用的不多

authpriv.*@192.168.10.230  @意思是:udp协议传输远程日志服务器 #是把日志放到远程;做日志收集用的,有时候一般不会把日志存在本地里面,一般会把日志放在专门的日志服务器上面记录,这样主要是为了安全以及统一管理,统一分析日志用的;例如apache做网页,可以通过收集网页日志;udp可能会产生,日志服务器因为网络原因收不到日志,从而无法记录日志

authpriv.* @@192.168.10.230   @@意思是:TCP协议传输 #是把日志放到远程;做日志收集用的,有时候一般不会把日志存在本地里面,一般会把日志放在专门的日志服务器上面记录,这样主要是为了安全以及统一管理,统一分析日志用的;例如apache做网页,可以通过收集网页日志;如果网络不好,会导致收集日志的时间是不挨着呢;至于记录到哪?得看rsyslog

authpriv.*  :omrelp:192.168.10.230   :omrelp:意思是:To forward via  RELP, prepend the string ":omrelp:" in front of the hostname.

 

下面详细介绍了每一种日志设备

# man 3 syslog                               

       LOG_AUTH                            安全登录相关的

       LOG_AUTHPRIV                       安全认证

       LOG_CRON                       clock daemon (cron and at) 计划任务

       LOG_DAEMON                         后台进程

       LOG_FTP                       ftp daemon 关于ftp

       LOG_KERN                       kernel messages  关于内核的

      LOG_LOCAL0 through LOG_LOCAL7用户自定义设备 支持从07;有8个自定义设备

       LOG_LPR                        printer subsystem

       LOG_MAIL                       邮件系统mail subsystem

       LOG_SYSLOG     syslogd自身产生的日志 日志服务自己记录的一个设备             

       LOG_USER (default)

       LOG_UUCP

 

接下来讲日志怎么收集?

一、集中式日志管理

RHEL6

==日志服务器(开启接收功能)

[root@localhost ~]# vim /etc/rsyslog.conf #下面两行关键字代表开启接收

12# Provides UDP syslog reception

13$ModLoad imudp.so

14$UDPServerRun 514 #开放时候注意,开放udp或者tcp取决于产生日志的服务器到底是一个@还是两个@@

 16 # Provides TCP syslog reception

 17 #$ModLoad imtcp

 18 #$InputTCPServerRun 514

 

例子:先在收集日志开启收集日志功能

[root@server ~]# vim /etc/rsyslog.conf  #是收集日志端

 16 # Provides TCP syslog reception 这里开启TCP

 17 $ModLoad imtcp

 18 $InputTCPServerRun 514  端口号是514

在开一个自定义设备:

 62 local5.info    /var/log/local5.log #自定义5info级别 保存在 /var/log/local5.log级别里面

[root@server ~]# service rsyslog restart

 

接下来该把日志给推到远程服务器了;先要在推的里面写规则

[root@agent ~]# vim /etc/rsyslog.conf

50 local5.info        @@192.168.145.128 #这里写info,默认是*,指的是所有级别都可以记录;因为使用的服务不会明确指定出会产生多少级别的日志,什么情况属于什么级别;所以我们会把所有级别产生的日志记录在一个级别里面

[root@agent ~]# service rsyslog restart

[root@agent ~]# logger -p local5.info -t "试试" "内容"    #手工推一个logger

[root@server ~]# cat /var/log/local5.log

Mar  3 11:53:29 agent 试试: 内容

[root@agent ~]# logger -p local5.err -t "试试" "内容"  #试试别的级别

[root@server ~]# cat /var/log/local5.log

Mar  3 11:53:29 agent 试试: 内容

Mar  3 11:54:11 agent 试试: 内容

[root@server ~]# netstat -tunlp |grep :514

远程服务有几个问题需要注意:

服务器端开启远程日志接收,并定义设备、级别以及处理方式                              

客户端开启远上传日志功能,定义设备、级别,处理方式为网络上传 @udp @@tcp              

PS1.客户端上定义的设备,必须保证服务器端有同样的设备进行接收(包括级别和动作都要一样)

    2.防火墙 selinux 要关掉或者防火墙中允许相应端口传输数据                        

关掉防火墙

当日志存储到一定数量,就无法加载

一、logrotate (轮转,日志切割) #日志轮转就是为了避免大日志文件的产生;使用这个工具可以把预先设定的规则实施到某个日志上,如果那个日志符合那个规则,一般我们就会做分离;切割又叫转存

1. 如果没有日志轮转,日文件会越来越大 #当一个日志文件越来越大的时候会重新分离一个日志文件;日志文件会按照我们事先设定的大小来存放;

2. 将丢弃系统中最旧的日志文件,以节省空间

3. logrotate本身不是系统进程,它是通过计划任务crond每天执行

logrotate:这是日志的一种分离工具,它不是一个服务;因为它不是一个服务,它是以工具的方式存在;所以它需要设置好规则以后,手工去执行的;就像脚本一样;每次手工执行一次它,它都会扫描所有设置它日志的文件,如果符合规则就把它分离出去;所谓的分离日志其实就是改名,在重新创建一个日志文件,新的日志就往空的日志文件里面记录;所以我们需要设置好东西以后来学习后面的计划任务;我们有很多的工具都是手工执行的,通过计划任务来完成;默认情况下这是系统工具自带的一个包;

[root@server ~]# rpm -qa |grep logrotate

logrotate-3.7.8-17.el6.x86_64 #默认是安装了的;跟随主日志服务,由于装了这个包,默认情况下很多日志是可以自动分离的

[root@server ~]# cd /etc/cron.daily/ #这是计划任务目录,所有想每天执行的程序都可以把程序的运行文件放到这个目录里面,脚本也可以,凡是放到这个目录里的可执行文件每天都会执行;当我们装好logrotate-3.7.8-17.el6.x86_64以后,会默认创建一个/etc/cron.daily/logrotate文件

[root@server cron.daily]# rpm -ql logrotate |more#查看包里面包含哪个文件

/etc/cron.daily/logrotate

/etc/logrotate.conf

/etc/logrotate.d

/usr/sbin/logrotate

/usr/share/doc/logrotate-3.7.8

/usr/share/doc/logrotate-3.7.8/CHANGES

/usr/share/doc/logrotate-3.7.8/COPYING

/usr/share/man/man5/logrotate.conf.5.gz

/usr/share/man/man8/logrotate.8.gz

/var/lib/logrotate.status

 

[root@server cron.daily]# cat /etc/cron.daily/logrotate

#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1      #规则是写在/etc/logrotate.conf,它是日志的主配置文件

EXITVALUE=http://www.mamicode.com/$? #指的是退出值

if [ $EXITVALUE != 0 ]; then  #如果上一条命令没有执行成功

    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" #就插一条日志到系统

fi

exit 0        #logrotate不用设置计划任务,默认是已经设置好了

 

我们到单位里面,先看linux版本有没有装logrotate以及装完了之后,它是不是自动的每天执行;需要我们去检查的;如果没有就需要我们自己写这么一个脚本

 

接下来讲logrotate的主配置文件;里面写的规则是什么样的,都包含哪些规则内容

[root@server ~]# vim /etc/logrotate.conf #这是logrotate的主配置文件

配置文件里面主要分为两个部分:

第一部分:默认规则(120)

第二部分:是具体的日志规则(21行到底)

主配置文件

[root@localhost ~]# vim /etc/logrotate.conf (详细信息在man手册里)

=========全局设置==========

weekly  #每隔一个星期检测一次,检测时候分不分离取决于条件;;这里规定是每隔一个星期检查一次,而上面脚本是每隔一天检查一次,具体如何判断?每天执行不意味着每天都要分离,它会有一个最短的周期,周期不到不分离

rotate 4 #保留4

create #轮转后创建新文件 ,一旦分离为不为它创建一个新的日志文件

dateext    #使用日期作为后缀 分离出来的文件用不用文件日期

#compress #分离的时候是否压缩;默认没有压缩,因为压缩之后还得解压

 

# RPM packages drop log rotation information into this directory  #rpm安装的程序,按照下面目录规则进行轮转;

include /etc/logrotate.d  #包含该目录下的文件;意思是下面21行以后的可以写成文件保存在这个目录里面;里面有很多日志条目的文件

# no packages own wtmp and btmp -- we‘ll rotate them here  #对于wtmpbtmp这样无主的日志,按照下面配置进行轮转

/var/log/wtmp {  #对该日志文件设置轮转的方法

    monthly  #一月轮转一次

    minsize 1M #最小达到1M才轮转

                # PS:就算到了一个月,如果日志不到1M,也不能轮转

    create 0664 root utmp #轮转后创建新文件,并设置权限

    rotate 1      #保留一份

}

/var/log/btmp {

    missingok #丢失不提示

    monthly #每月轮转一次

    create 0600 root utmp #轮转后创建新文件,并设置权限

    rotate 1     #保留一份

}

日志的规则:

周期满足,分离

周期满足,大小不满足,不分离

周期满足,大小满足,分离

[root@server ~]# /usr/sbin/logrotate /etc/logrotate.conf #手动执行日志分离一次

[root@server ~]# /usr/sbin/logrotate -f /etc/logrotate.conf #手动执行强制日志分离一次;即使不满足分离条件;但是指定了notifempty,日志文件为空不分离

1:轮转文件/var/log/yum.log

# vim /etc/logrotate.d/yum  原有的设置

/var/log/yum.log {     #yum日志文件

    missingok #丢失不提示

    notifempty #如果为空,不轮转

    size 30k     #30k

    yearly #一年轮转一次

                        PS:到了一年或者大小达到30k都要轮转

    create 0600 root root #创建新文件

}

# vim /etc/logrotate.d/yum 修改后的设置

/var/log/yum.log {

       missingok

#    notifempty

#    size 30k

#    yearly

 

      daily

      rotate 3

      create 0777 root root

}

测试:

# /usr/sbin/logrotate /etc/logrotate.conf   #手动轮转

# grep ‘yum‘ /var/lib/logrotate.status   #记录所有日志文件最近轮转的时间

"/var/log/yum.log" 2012-11-10

# date 111114002012

# /usr/sbin/logrotate /etc/logrotate.conf

2

/var/log/messages {    脚本,在轮转之前先去掉日志的A属性,轮转之后再加上;轮转就是分离

    Prerotate #去掉属性

       chattr -a /var/log/abc.log

    endscript

    #notifempty

    daily

create 0600 root root

    missingok

    rotate 5

    Postrotate #增加属性

        chattr +a /var/log/abc.log  #这就是它的只能追加不能修改的属性;只能增加不能修改是无法分离的

    endscript

}

脚本支持两个关键字:一个是prerotate,另外一个是 postrotate

prerotate:分离之前执行命令

postrotate:分离成功之后执行命令

对于日志来讲,处于安全来讲会给它加上一些属性

split:这个命令是用来切日志的;用它可以将大文件切成多个小文件;可以按照要求切,切得速度相当快,如果有50G的日志,两分钟剧可以切完;比拷贝都快;所谓的切就是创建一个文件,完了把它拷进去

rpm装的包默认有logrotate服务,分离规则是放到里面的;而源码包没有

[root@server ~]# man split

-b:指定大小

例题:把一个大文件切成小文件;文件是一个G

[root@server tmp]# dd < /dev/zero > dafile.txt bs=100M count=10 #文件变成一个G

10+0 records in

10+0 records out

1048576000 bytes (1.0 GB) copied, 15.3686 s, 68.2 MB/s

[root@server tmp]# sync

[root@server tmp]# ls

dafile.txt  #就有这个文件了

[root@server tmp]# du -m dafile.txt  #查看文件大小

1001 dafile.txt

[root@server tmp]# split -b 1M dafile.txt  #切成1M的大小

split: output file suffixes exhausted

[root@server tmp]# ls #这样就切出来了(里面有很多,这里省略了)

xcp                  xfn  xil  xlj  xoh  xrf  xud  xxb  xzz

xcq                  xfo  xim  xlk  xoi  xrg  xue  xxc  yum.log

[root@server tmp]# du -m xcl

1 xcl

切大文件的时候最好把它放到一个单独的目录里面

 

 

                        下面是计划任务cron

cron:作用:  计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据

[root@server ~]# ps aux |grep cron |grep -v ‘grep‘

root       1762  0.0  0.1 117336  1240 ?        Ss   22:15   0:00 crond

crond进程每分钟检查一次,以运行相应的任务

crond日志文件/var/log/cron

[root@server ~]# cd /etc/cron #每天的脚本和程序都放到这个目录里面,它就会每天执行

cron.d/       cron.deny     cron.monthly/ cron.weekly/

cron.daily/   cron.hourly/  crontab      

 

每星期执行的放到cron.weekly/

如果想不让某个用户执行计划任务,我们可以把用户名直接写到文件cron.deny里面;这个用户就不能设置计划任务了

或者用[root@server ~]# crontab -e  #创建计划任务

 

 

crontab不能直接写命令行,不能使用执行引用’’,执行引用可以放脚本中,写脚本名,有执行权限

里面有个关键点,除了星期不取交集,其它时间都取交集;

[root@server ~]# crontab -e

00 02 16 03 07 #这里的07指的是星期天;这里的感觉就是每年的316日晚上两点整的时候,而且那天是星期天的时候;其实不是这个意思;意思是每年36日两点整和每周日两点整都可以;也就是说整个时间格式当中如果日期一旦写了,日期和前面四个数字取得是或得关系,它是避免出现错误;指的是如果316日不是星期天;

00 02 * * * ls  #是每周日晚上两点或316日晚上两点

00 02 16 03 *  #所以一般星期几不写

00 02 * * 07 #或者不写日期

00 02 * * 7 ls  #每周日2:00

00 02 14 2 * ls  #每年2142:00

如果要写每分钟执行:01 * * * * #这样写是不对的,这样写是每小时第一分钟;要想表示每分钟执行:*/01 * * * *

01 02 * * * #每天两点

计划任务两种定义方法:一种是放到/etc/cron对应的文件里面;另外一种是指定时间格式;用crontab -e执行

[root@localhost ~]# crontab -e #创建计划任务

* * * * * /bin/ls

[root@localhost ~]# crontab -l  #查看计划任务的具体内容

* * * * * /bin/ls

crontab -r删除计划任务

[root@server ~]# tail /var/log/cron #查看日志

我们设计好计划任务之后,它都会产生一个临时文件

例如:

[root@server ~]# crontab -e

no crontab for root - using an empty one

crontab: installing new crontab

[root@server ~]# crontab -l

00 02 * * * bash /tmp/abc.sh

如果要修改计划任务有两种方法:第一种:

[root@server ~]# crontab -e #进去直接修改

第二种方法:找到计划任务的保存位置:

[root@server ~]# cd /var/spool/cron/ #关于每个计划任务的目录

[root@server cron]# ls

root  #一个用户一个文件;这个文件里记录的就是用户的计划任务

[root@server cron]# cat root

00 02 * * * bash /tmp/abc.sh

换句话讲。Tab会每隔一段时间来扫描所有用户的文件

 

00 02 * * * ls //每天2:00

00 02 1 * * ls   //每月12:00

00 02 14 2 * ls //每年2142:00

00 02 * * 7 ls   //每周日2:00

00 02 14 2 7 ls //每年2142:00整  或者  每周日2:00整,这两个时间都执行

 

00 02 * * * ls //每天2:00

*   02 * * * ls //每天2:00中的每一分钟

* * * * * ls //每分钟执行ls

* * 14 2 * ls //214号的每分钟

以下是特殊写法:

*/5 * * * * ls //每隔5分钟

00 02 1,5,8 * * ls //每月1,5,8号的2:00

00 02 1-8 * * ls //每月18号的2:00

切记:计划任务是个服务;如果想执行计划任务,首先先确保这个服务是开着的

[root@server cron]# service crond status #默认是运行的,哪怕最小化安装也是运行的

crond (pid  1759) is running...

如果关闭会导致很多和它关联的服务出问题

 

案例1:备份etc目录,要求:

1. 每天4:00备份/etc目录到/var/back

2. 将备份命令写在脚本中,如/root/back.sh,加执行权限

3. 每天备份的文件名包含当天的日期,如2014-11-09_etc.tar.gz

4. 计划任务执行时,屏幕不产生任何输出 &>/dev/null

5. 只保留最近5天的备份 find /var/back -mtime +5 |xargs rm -rf

 

1. 编写脚本

[root@localhost ~]# vim /root/back.sh

第一种版本

tar -czf /var/back/`date +%F`_etc.tar.gz /etc   

find /var/back -mtime +5 |xargs rm -rf #5天前的备份找出来并且删掉

 

第二种版本

#!/bin/bash

filename=`date +%F`_etc.tar.gz #定义文件名

back_dir=/var/back  #定义存放的目录

   

# 判断备份文件存放目录是否存在

if [ ! -d $back_dir ];then

           mkdir -p $back_dir  #不存在就创建这个目录

fi

#备份

tar -czf ${back_dir}/$filename /etc &>/dev/null

#删除修改时间超过5天的文件

cd ${back_dir}

find . -mtime +5 |xargs rm -rf

接下来是把计划任务放到脚本里面去执行

手动测试脚本

[root@localhost ~]# chmod a+x /root/back.sh

[root@localhost ~]# chattr +i /root/back.sh

[root@localhost ~]# /root/back.sh

[root@localhost ~]# ll /var/back/

总计 11720

-rw-r--r-- 1 root root 11984709 09-14 17:59 2014-01-16_etc.tar.gz

[root@localhost ~]# date 01171200

[root@localhost ~]# /root/back.sh

[root@localhost ~]# ll /var/back/

-rw-r--r-- 1 root root 11984709 09-14 17:59 2014-01-16_etc.tar.gz

-rw-r--r-- 1 root root 11984709 09-15 12:00 2014-01-17_etc.tar.gz

 配置cron执行脚本

[root@localhost ~]# crontab -e

0 4 * * * /root/back.sh

[root@localhost ~]# crontab -l         

0 4 * * * /root/back.sh

[root@localhost ~]# tail /var/log/cron   #计划任务有没有执行通过日志查看;默认计划任务的日志是在这个位置;这个是由配置文件/etc/rsyslog.conf(52)决定的

Sep 20 12:03:01 localhost crond[5873]: (alice) CMD (ls)

Sep 20 12:03:42 localhost crontab[5870]: (root) REPLACE (root)

Sep 20 12:03:42 localhost crontab[5870]: (root) END EDIT (root)

Sep 20 12:03:46 localhost crontab[5880]: (root) LIST (root)

Sep 20 12:04:01 localhost crond[5882]: (alice) CMD (ls)

Sep 20 12:05:01 localhost crond[5895]: (alice) CMD (ls)

Sep 22 04:00:20 localhost crond[5909]: (alice) CMD (ls)

Sep 22 04:00:20 localhost crond[5912]: (root) CMD (/root/back.sh)

计划任务里面最好使用绝对路径

例题,写个计划任务,每分钟创建一个文件

[root@server cron]# crontab -e

*/01 * * * * /bin/touch /tmp/uplooking.fil #第一次是创建,之后每分钟在创建就是修改它的时间

计划任务默认只支持分钟,不支持秒;但是通过设置也可以支持秒

让任务实现秒级执行

一、通过计划任务实现

每隔10秒执行命令date

* * * * * date >/dev/pts/1  #每时每刻都执行

* * * * * sleep 10; date >/dev/pts/1  #10秒在执行

* * * * * sleep 20; date >/dev/pts/1

* * * * * sleep 30; date >/dev/pts/1

* * * * * sleep 40; date >/dev/pts/1

* * * * * sleep 50; date >/dev/pts/1

 

二、通过程序实现

# vim while01.sh

#!/bin/bash

while :

do

        echo "ok"

        sleep 5

Done

                       网络配置

一、常见的网络接口

lo  #本地环回接口 ;这个网卡永远代表自己;lo虽说没用,但你还不能把它停了;很多local host解析的就是自己;127开头的IP代表的是自己

eth0  #以太网接口

wlan0 #无线接口

bond0 #bonding接口---------->又叫绑定网卡;多块物理网卡绑定后产生的虚拟接口(有什么意义:不都还是从其中一块网卡走数据么?)

virbr0 #桥接接口虚拟交换机;虚拟机网卡

br0  #桥接接口 虚拟交换机

vnet0  #KVM虚拟交换机接口

网络基础知识:

IP ipv4(32 bit)    ipv6(128 bit)

MAC 48 bit实际数据传输时候依靠MAC48 bit

子网掩码 ipv4(32 bit) 帮助确定我们自己在对方哪个网段

网段

路由查询路由表走路的过程,比如:往一个网段传点东西,先要确定这个网段是否通着,这个网段就叫路由

网关说白了,就是快递

OIS七层模型

TCP/IP四层模型

IP分类

公有地址:

IP分类 缺省掩码

A 1127 /8

B 128191 /16

C 192223 /24

D 224239 组播地址

E 240247 保留地址

私有地址:

A10.0.0.0 - 10.255.255.255

B:  172.16.0.0 - 172.31.255.255

C:  192.168.0.0 - 192.168.255.255

临时:立即生效,重启失效(测试、集群节点间的浮动IP...

1. 修改主机名

# hostname tianyun.uplooking.com

2. 修改IP

# ifconfig eth0 192.168.2.252/24 up //修改eth0IP

# ifconfig eth0:0 192.168.2.252/24 up //eth0增加IP

# ifconfig eth0:1 192.168.2.251/24 up //eth0增加IP

# ip addr add dev eth0 192.168.2.252/24 //增加新的临时IP

# ip addr add 192.168.3.252/24 dev eth0

# ip addr show eth0

3. 设置网关(默认路由)

# route add default gw 192.168.2.254            添加网关

# route -n

# route del default gw 192.168.2.254

# ip route add default via 192.168.2.254 dev eth0

# ip route

# ip route del default via 192.168.2.254 dev eth0

日志 ; 计划任务 ; 网络配置