linux的网络属性配置
1、 图形界面配置
键入命令[root@server55 ~]# system-config-network-gui
选中要修改的网卡双击或点击edit对其ip地址、子网掩码和默认网关进行编辑。
2、 基于字符的图形界面
键入命令[root@server55 ~]# system-config-network-tui
其中两个选项分别配置主机网卡信息和默认dns服器
3、 从配置文件中进行修改
配置文件目录/etc/sysconfig/network-scripts/ifcfg-eth0
1 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
2 DEVICE=eth0
3 BOOTPROTO=static
4 DHCPCLASS=
5 HWADDR=00:0C:29:1E:74:BA
6 ONBOOT=yes
7 IPADDR=192.168.0.155
8 NETMASK=255.255.255.0
9 GATEWAY=192.168.0.254
10 USERCTL=no
11 PEERDNS=no
使用vim编辑器进行网卡各项参数的修改
DEVICE=设备名称
BOOTPROTO=设备启用协议名称{dhcp|static|boottp|none}
HWADDR=mac地址
ONBOOT=此设备随系统启动
IPADDR=ip地址
NETMASK=子网掩码
GATEWAY=默认网关
USERCTL=是否允许所有用户启/禁用该设备
PEERDNS=是否同意dhcp修改本机的dns服务器地址
使用 ifconfig eth0 ip地址/CIDR或子网掩码
将直接修改当前ip地址,但重启后失效。
DNS配置:
dns配置文件:/etc/resolv.conf
1 ; generated by /sbin/dhclient-script
2 search example.com
3 nameserver 192.168.0.254
search 当你输入非完全格式域名时,自动补全的内容
nameserver dns服务器的地址
主机名的修改
主机名配置文件/etc/sysconfig/network
1 NETWORKING=yes
2 NETWORKING_IPV6=yes
3 HOSTNAME=server55.example.com
NETWORKING_IPV6=是否支持ipv6
HOSTNAME=在网络中显示的主机名
添加路由表
# route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
其中:
add : 添加一条路由规则
del : 删除一条路由规则
-net : 目的地址是一个网络
-host : 目的地址是一个主机
target : 目的网络或主机
netmask : 目的地址的网络掩码
gw : 路由数据包通过的网关
dev : 为路由指定的网络接口
注意:不论使用以上哪一种方法修改主机的网络配置,都必须重新启动网络配置或者禁用启用网卡才能生效。
重启网络服务命令:
[root@server55 ~]# service network restart
禁用启用网卡:
[root@server55 ~]# ifdown eth0 && ifup eth0
与脚本编程的知识补充:
创建临时文件
mktemp 文件名
-d 生成目录为临时文件属性
mktemp 文件名+XXXX
生成文件将自动生成X格式的随机数
case判断
case 变量 in
条件1)
语句
;;
条件2)
语句
;;
.
.
.
*) #用*表示除去上所有条件之外的所有情况
语句
;;
esac
函数的用法
function 函数名{
函数体
}
在脚本中直接通过函数名调用。
下面是一个程序分别使用无函数、有函数和参数传递的三种写法:
写一个脚本:
1、提示用户可以输入”mem"查看本机物理内存使用信息,"swap"显示虚拟内存使用信息;
2、当用户输入mem时,获取当前主机物理内存的大小,已经使用的空间及空闲空间大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
3、当用户输入"swap"时,获取当前主机虚拟内存的大小,已经使用的空间及空闲空间的大小;如果已用空间超出总空间的90%,则以红色字体警告;否则,则以绿色字体显示空间剩余百分比;
4、其它信息则说明是错误输入;
不使用函数:
1 #!/bin/bash
2 #:Title:
3 #:Synopsis:memory/swap test
4 #:DateTime:2011-07-26 13:02:18
5 #:Version:Unknow
6 #:Author: redhat_hu
7 #:Option:None
8 read -p "input (m)mem/(s)swap to check mem/swap:" I
9 case $I in
10 'm')
11 free -m | awk '/Mem:/{print "Memory:"$2"M"}'
12 TOTAL=`free |awk '/Mem:/{print $2}' `
13 USED=`free |awk '/Mem:/{print $3}' `
14 PER=$[$USED*100/$TOTAL]
15 if [ "$PER" -gt '90' ];then
16 echo -e "\033[31mwarnning:used is $PER % memory beyond 90% \033[0m"
17 else
18 echo "used memory is $PER"
19 fi
20 ;;
21 's')
22 free -m | awk '/Swap:/{print "Swap:"$2"M"}'
23 TOTAL=`free |awk '/Swap:/{print $2}' `
24 USED=`free |awk '/Swap:/{print $3}' `
25 PER=$[$USED*100/$TOTAL]
26 if [ "$PER" -gt '90' ];then
27 echo -e "\033[31m warnning:used swap is $PER % beyond 90% \033[0m "
28 else
29 echo -e "\033[32m used Swap is $PER %\033[0m"
30 fi
31 ;;
32 *)
33 echo "error input!"
34 ;;
35 esac
使用函数:
1 #!/bin/bash
2 #:Title:
3 #:Synopsis:memory/swap test by function
4 #:DateTime:2011-07-26 13:25:43
5 #:Version:Unknow
6 #:Author: redhat_hu
7 #:Option:None
8
9 function MEMORY {
10 free -m | awk '/Mem:/{print "Memory:"$2"M"}'
11 TOTAL=`free |awk '/Mem:/{print $2}' `
12 USED=`free |awk '/Mem:/{print $3}' `
13 PER=$[$USED*100/$TOTAL]
14 if [ "$PER" -gt '90' ];then
15 echo -e "\033[31mwarnning:used is $PER % memory beyond 90% \033[0m"
16 else
17 echo "used memory is $PER"
18 fi
19 }
20 function SWAP {
21 free -m | awk '/Swap:/{print "Swap:"$2"M"}'
22 TOTAL=`free |awk '/Swap:/{print $2}' `
23 USED=`free |awk '/Swap:/{print $3}' `
24 PER=$[$USED*100/$TOTAL]
25 if [ "$PER" -gt '90' ];then
26 echo -e "\033[31m warnning:used swap is $PER % beyond 90% \033[0m "
27 else
28 echo -e "\033[32m used Swap is $PER %\033[0m"
29 fi
30 }
31
32 read -p "input to check m(memory)/s(swap):" A
33 case $A in
34 'm')
35 MEMORY;;
36 's')
37 SWAP;;
38 *)
39 echo "error input!"
40 ;;
41 esac
使用函数传递参数:
1 #!/bin/bash
2 #:Title:
3 #:Synopsis:memory/swap test by funtion deliver
4 #:DateTime:2011-07-26 13:35:10
5 #:Version:Unknow
6 #:Author: redhat_hu
7 #:Option:None
8 function DELIVERY {
9 case $1 in
10 'm')
11 free -m | awk '/Mem:/{print "Memory:"$2"M"}'
12 TOTAL=`free |awk '/Mem:/{print $2}' `
13 USED=`free |awk '/Mem:/{print $3}' `
14 PER=$[$USED*100/$TOTAL]
15 if [ "$PER" -gt '90' ];then
16 echo -e "\033[31mwarnning:used is $PER % memory beyond 90% \033[0m"
17 else
18 echo "used memory is $PER"
19 fi
20 ;;
21 's')
22 free -m | awk '/Swap:/{print "Swap:"$2"M"}'
23 TOTAL=`free |awk '/Swap:/{print $2}' `
24 USED=`free |awk '/Swap:/{print $3}' `
25 PER=$[$USED*100/$TOTAL]
26 if [ "$PER" -gt '90' ];then
27 echo -e "\033[31m warnning:used swap is $PER % beyond 90% \033[0m "
28 else
29 echo -e "\033[32m used Swap is $PER %\033[0m"
30 fi
31 ;;
32 *)
33 echo "error input!"
34 ;;
35 esac
36 }
37 read -p "input (m)mem/(s)swap to check mem/swap:" D
38 DELIVERY $D
本文出自 “ 远 �r ” 博客,请务必保留此出处http://evolution.blog.51cto.com/3343305/624091