免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1775 | 回复: 0
打印 上一主题 下一主题

Solaris 达内听课笔记第三册整理 [复制链接]

论坛徽章:
1
巨蟹座
日期:2014-02-11 14:21:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-26 14:01 |只看该作者 |倒序浏览
达内听课笔记第三册整理
一些经验
1.排错的过程
1)清楚地描述问题,耐心地引导用户描述问题
2)找到最早产生的故障,原故障
3)在判断出问题之前,先不要改动现场
4)备份,文档,测试
a)备份配置文件
用cp vfstab vfstab.040330
不要用cp vfstab vfstab.bak
可以更清晰地看见日期信息
b)记录文档
记录自己所做的所有操作
c)先做测试,确定没有问题,再做修改
比如,先用ifconfig 修改地址,测试是否能行,然后再修改hostname.hme0 这种静态文件
5)进行实际的修改操作
6)before and after
1)问题由于什么原因而出
2)问题解决了之后怎样防止再发生
2.了解一种新软件只用看三种书
入门
安装指南
用户手册
3.两个安全的习惯
1)用普通用户登陆,用管理权限的时候就su
2)离开console 的时候,一定要关闭root 窗口.锁定屏幕
4.ftp 前台运行与后台运行的区别
1
2
1)前台运行的话,ppid 是启动他的shell 的pid,启动他的shell 也就是他的父进程关闭后,
该进程也关闭
2)后台运行的话,如果启动他的shell,关闭后,他的父进程变成init,ppid 为1.
面向连接,无连接在连接开始的时候,是否发包建立连接
可靠的与不可靠的在发每一个包的时候,是否回值说已经收到了.
5.Unix 下源代码安装软件的过程
1)./configuge -->生成Makefile
如果脚本结束,则成功,如果脚本无法结束,则失败.中间出现error 没有关系.
./configuge脚本中针对不同os 硬件特性生成不同Makefile,如果脚本无法正常结束,则可以
考虑手动修改configure 文件.
不同软件在安装时,./configuge 后跟的不同参数可以参考软件的安装手册.
2)make
根据Makefile 将源文件生成二进制文件,在初始化文件中指定PATH,并且安装编译软件,很多
Makefile 都是调用$CC 变量,所以设置CC=/usr/local/bin/gcc,总之根据Makefile 来设置环
境变量
有些软件自带make clear 或purge,可以删除旧的binary file,再生成新的binary file
3)make install 将二进制文件从make 的目录copy 到应有的目录.如果再想删除的话,只能是
删目录.或者查看Makefile 文件,查看Install 一段,安装了哪些文件.
Solaris 的一些网络命令
1.netstat 的用法
netstat -rn 查看路由信息
netstat -in 查看网络接口信息
netstat -i 10 查看网络使用情况,每10 秒更新一次
netstat -an 查看所有网络连接
n:number,用ip 表示主机名
2.ping
2
3
ping unix3 30 30:将timeout 设成30
(如果这台机器在很远的位置,反应很慢,所以要设长反应时间)
ping -s unix3 -s:一直ping
ping -s -I 2 unix3 -I 2:以2 秒的间隔时间发ping 包
ping -s unix3 4096 4096:发一个4096byte 大小的包
以太网中常见的包有512,1024,4096,8096byte 左右大小
4096 是一很有代表性的数字,代表一个相当大的数据分组,可以用来测试远程系统能否接受
大数据分组.
ping -s unix1 1024 3 3:发3 个1024byte 的包
一个习惯说法
ping 500 红色恶劣
Ping 的结果
1)# ping -s unix1
PING unix1: 56 data bytes
64 bytes from unix1 (192.168.4.21): icmp_seq=0. time=0. ms
正常包56byte,0ms 延迟
2)# ping -s unix1 4096
PING unix1: 4096 data bytes
4104 bytes from unix1 (192.168.4.21): icmp_seq=0. time=1. ms
4096byte 的包,1ms 延迟
3)# ping -s unix1 8096
PING unix1: 8096 data bytes
8104 bytes from unix1 (192.168.4.21): icmp_seq=0. time=2. ms
8096byte 的包,2ms 延迟
另外,系统在处理大包时,会增加延迟时间.
查看ping 的结果
1)icmp_seq=0 icmp 返回包的顺序号,如果顺序号不正常,说明路由存在问题
2)time=0. ms 显示包的延迟时间,局网的延迟应该是0-20 秒,对于这个你应该是有经验的
2)ctrl+c 退出后,在最后一行可以看见丢包率
3
4
不要忘了traceroute 是ping 的加强版.
2.关于mac 地址
1)sun 的网卡mac 地址前三位
08:00:20
2)solaris 改mac 地址
a)修改obp 的一个布儿变量
eeprom local-mac-address?=ture
(ture 允许机器使用自定义的mac 地址)
b)ifconfig hme0 ether xx:xx:xx:xx:xx:xx
(如果想每次开机自动修改mac 地址,则把这句命令放在启动脚本中)
另一种在ok 状态下改mac 地址,参考url
http:/www.squirrel.com/sun-nvram-hostid.faq.html
不推荐使用,但是比较隐蔽
4.关于hosts 文件
1)/etc/hosts 文件是/etc/inet/hosts 文件的软连接
因为solaris 的血缘关系,他既支持bsd,又支持sysV
2)修改hosts 文件的一个习惯
第一行放127.0.0.1
第二行放本机ip 地址
这样比较整齐
3)host 文件中可以有别名,即一个ip 地址可以有多个名字
常见的情况有
192.168.4.21 unix1 unix1.tarena.com
5.snoop 命令
snoop 参数
1)snoop -v 查看详细信息
snoop -V 查看较详细的信息
2)snoop -o 保存到一个文件,snoop -i 从一个文件中读取snoop 信息
另外snoop 也可以直接用>定向到普通文件中.
3)snoop -c 10 监听一定数量的包
4)snoop -x 0 512 只查看每个包前512bit 的信息
snoop 过滤器的使用
4
5
1)具体过滤名与功能查阅man 手册
2) snoop 的信息很多,也可以用grep 过滤
snoop | grep 'IP' 只查看与IP 有关的
snoop | grep -v 'IP' 过滤不查看与IP 有关的
6.ndd,在不重新启动系统与配置内核的情况下设置网络参数
1)ndd 命令的使用方法
a)ndd /dev/hme \?
查看/dev/hme 设备可以修改的参数
b)ndd /dev/hme link_speed
查看这个参数现有的值
c)ndd -set /dev/hme link_speed 1
设置这个参数的值
2)ndd 可以修改的设备
/dev/arp
/dev/icmp
/dev/tcp
/dev/ip
/dev/hme
等等
3)开机自动用ndd 命令设置网络参数,可以把ndd 命令放在
a)/etc/system 中
b)/etc/init.d/inetinit 中
或者自己新建脚本,但是位置一定要在inetinit 之后inetsvc 之前
grep ndd /etc/init.d/inetinit
可以看见现在已经设置的一些ndd 参数
4)一些常用的ndd 参数
ndd -set /dev/hme link_speed 1
1 表示100M
0 表示10M
ndd -set /dev/hme autoneg_cap 1
1 表示100M 与10M 自适应网卡
0 表示非自适应
ndd -set /dev/hme 100fdx_cap 1
100M 全双工支持
5
6
ndd -set /dev/hme 100hdx_cap 1
100M 半双工支持
ndd -set /dev/hme 10fdx_cap 1
10M 全双工支持
ndd -set /dev/hme 10hdx_cap 1
10M 半双工支持
ndd -set /dev/ip hme0:ip_forwarding
决定这张网卡是否转发数据包,默认网卡是转发包的。除非做路由器,否则关闭转发。
ndd –set /dev/ip ip_forward_directed_broadcasts 0
默认网卡是转发广播包的,为防止smurf 攻击,关闭广播转发。
ndd –set /dev/ip ip_forward_src_routed 0
源路由转发,照样关闭。
ndd –set /dev/tcp tcp_conn_req_max_q0 4096
ndd –set /dev/tcp tcp_conn_req_max_q 1024
防止Synflood 攻击
ndd -set /dev/tcp tcp_close_wait_interval 30000
默认打开一个tcp 连接后,默认在120 秒内会保持打开状态,造成很大的资源浪费,这里修改成
30 秒.
几句不太明白的ndd 命令,但是对于安全有益。
ndd -set /dev/ip ip_ignore_redirects 1
忽略重定向错误
ndd -set /dev/ip ip_send_redirects 0
不发送重定向数据包
ndd-set /dev/ip ip_respond_to_timestamp 0
不响应时间戳
ndd –set /dev/ip ip_respind_to_address_mask_broadcast 0
不响应地址掩码广播
ndd –set /dev/ip ip_respond_to_timestamp_broadcast 0
不响应时间戳广播
ndd –set /dev/ip ip_respond_to_echo_boadcast 0
关闭对echo 广播的响应
关于ndd的命令修改系统,都可以加入/etc/init.d/inetinit中去。
心得:在用ndd 命令修改网络参数的同时,发现TCP/IP 网络基础知识还是不足,但可以确定的
一点就是用ndd 命令,可以对防止DOS 攻击启动积极的作用. 在重负荷的网站可能需要优化磁
6
7
盘IO 与用ndd 优化一些网络参数,如/dev/tcp.但在此之前先要熟悉tcp 的原理.关于ndd
在Solaris 网络与安全方面还有应用,注意查阅书籍
注意:修改ndd 属于中级管理员的命令,由于ndd 所造成的错误十分隐蔽,排错过程为,先寻找
启动过程中的ndd 命令,进而重新启动机器.
7.arp 命令
1)arp -a 查看arp 表
solaris 默认保存动态arp 表300 秒
#ndd –set /dev/arp arp_cleanup_interval 60000
#ndd -set /dev/ip ip_ire_flush_interval 60000
减短arp 的过期时间。
2)arp -s hostname mac
添加静态arp 项,静态添加的arp 项除非手工删除,是不会消失的
静态arp 一般都是在路由器,网关上作,网关作了静态arp 之后,可以大大地减少广播,显著地
提高网络效率.
也可以把命令放在启动脚本中.
3)arp -f filename
从一个文件中读取arp 信息
4)arp -d hostname
删除一项arp 项
注意:一个错误的arp 对应关系,无法正确访问,但是由于一直有人访问,所以造成该arp 项无
法被清空,在路由器与交换机上经常出现这种情况,需要受动清空arp 表,或者直接重启设备.
用arp 判断ip 地址冲突
a 机器上可能出现ip 冲突
1)在a 上用ifocnfig 或者ok banner 查看mac 地址
2)在b 上ping a
3)在b 上arp -a 查看本机mac 地址表中的mac 与a 是否对应
8.rarp
1)使用环境,无盘工作站,DHCP
7
8
2)deamon:in.rarpd
rarp 的条件
1)/etc/inet/hosts 文件
2)/etc/ethers 文件
3)/usr/sbin/in.rarpd 要运行关于rarp 的deamon
启动rarpd
/usr/sbin/in.rarpd -a 在所有的网卡上启动rarp
/usr/sbin/in.rarpd -ad debug 模式
in.rarpd 是在nfs.server 中启动的
在做nis 的时候,一般不把ethers,networks 之类的网络信息放在网上,可以提高查找与访问
信息效率.
对于,学校,软件公司等要求不高的地方.
如果对安全与效率要求高,则尽量少使用nis
arp 如果碰到复杂环境,如双网卡,或者双网卡用一个ip,arp -s 向哪张网卡上加.
9.
/etc/networks 存放网络地址与网络名的对应
/etc/netmasks 存放某一个网络的掩码
10.
/etc/init.d/network
/etc/rcS.d/S30network.sh
读取各张网卡的信息,然后启动网卡
11.ifconfig 小节
1)ifconfig -a
2)ifconfig hme0 [up | down]
3)ifconfig hme0 192.168.4.21
4)ifconfig hme0 192.168.4.21 netmask 255.255.255.0
5)ifconfig hme0 plumb | unplumb 挂载或者卸载网卡驱动
up | down 与plumb | upplumb
8
9
是两个级别的命令,plumb 级别更低
在系统启动的时候,在/etc/init.d/network 脚本中使用/sbin/ifconfig $1 plumb 启动网
卡.
6)ifconfig hme0 192.168.4.21 boradcast 192.168.4.128
手工设置广播地址,好象没什么用
7)管理员用ifconfig 命令可以看见mac 地址,而普通用户则不可.
12.虚拟网卡
1)virtual interfaces 一个网卡多个ip
ifconfig hme0:1 plumb 128.5.1.100 up
一次性新建一张网卡,装载驱动,启动网卡
应用
a)从不同的网站过来的广告连接连接到本地的不同的ip,到最后结广告连接费.在不同的网
站上用不同的域名,连接到本地dns 之后,解析成不同的私网ip 地址.用apache 记录被访问的
i.p 情况
/var/apache/logs
access_log 成功访问日志
error_log 失败访问日志
每一个虚拟主机有一对这种文件
b)high availability failover
用户访问192.168.0.23 这个虚拟ip,然后通过23 访问实际机器21,22.这样21 与22 就做到
的冗余与负载平衡的功能
静态新建一张虚拟网卡的步骤
vi /etc/hostname.hme0:1 设置这张网卡
vi /etc/hosts 设置这张网卡的hostname
vi /etc/init.d/network 设置他自动启动
ndd -get /dev/ip ip_addrs_per_if
256 显示默认每张网卡的可接受ip 数量为256
9
10
net -set /dev/ip ip_addrs_per_if 8192 更改网卡的可接受ip 数量,8192 为最大值
2)Trunking 一个ip 多个网卡
应用
a)加大带宽,两张网卡Turnking 之后虽然不是理论地拥有200%的带宽,但是有所提高.
一台机器,多张网卡,一个ip,一个mac,则为Trunking
一台机器,多张网卡.一个ip,多个mac 地址的话,则只能发挥一张网卡的性能
sun 4 口卡, 一张网卡,4 个接口.出产时便是4 个同一mac 地址的接口在一张网卡上
在普通pc 机上也能这么做
b)故障冗余
常见的冗余硬件,硬盘,电源,网卡.
cpu 的冗余只能通过多台机器来做.
Solaris 路由
查看路由表
netstat -rn
添加路由
route add/delete dest gateway metric
route add/delete default 192.168.4.1 1
route add host 192.168.0.21 192.168.4.1
route add net 192.168.1.0 192.168.4.1
添加与删除都得把命令写全
添加缺省路由
/etc/defaultrouter 加入缺省路由的内容
route add default 192.168.4.1
10
11
solaris 的路由demaon
/etc/init.d/inetinit
/etc/rc2.d/S69inet
rip in.routed -s
rdisc in.rdisc -r
1)系统启动时候如果发现有/etc/defaultrouter 文件,则不启动这两个dameon
换句话说,如果想起路由daemon 的话,就不能存在defaultrouter 文件.
2)既想起让本机启动路由dameon 做路由器,又想设缺省路由,把route add default
192.168.4.1 加在自启动脚本中执行,确保在/etc/rc2.d/S69inet 之后.
配置路由器过程
1)安装与配置多网卡
a)/etc/hostname.hme0
b)/etc/hosts
c)touch /reconfigure
d)init 6
(这个地方也可用plumb 与up 动作替代重启的过程)
2.设置网络参数,允许路由
a)ndd -set /dev/ip ip_forwarding 1
b)/etc/defaultrouter 不存在设置默认网关
c)/etc/gateways 存在路由表文件
3.启动服务
a)/etc/init.d/inetinit start
multihomed hosts
在两个网段之间有一台服务器,但是不起路由与ip_forwading.一般做为nfs server.
想做这样的服务器的话
a)touch /etc/notrouter 存在
或是
b)用ndd 关闭ip_forwading.
关于网络三个脚本
/etc/init.d/network 启动硬件本身,不轻易修改
/etc/init.d/inetinit 配置网卡,与网络参数,经常修改
/etc/init.d/inetsvc 网络服务
11
12
配置dns 客户端
/etc/resolv.conf
nameserver 210.13.14.1
/etc/nsswitch.conf
hosts 一项加上dns
DHCP
如果放在机器上,只能管一个网段.
如果放在路由器上,就可以管多个网段.
所以现在比较流行用路由器做dhcp server
dhcp 在server 与client 上的daemon 都为in.dhcpd
server 端分配ip
client 端获取ip
dhcp server 处有limit time 的概念,租期到一半时由客户端向服务器重新提出申请.
/etc/dhcp/inittab
描述dhcp 可以分配的信息
dhcp 过程
1.dhcpdiscover client 广播
2.dhspoffer server 回音
3.client 选择一个offer
4.dhcpback server 确定.
一个网段中可以有多个dhcp server,但是可能会发生地址冲突.
12
13
配置dhcp 的工具
1)dhcpconfig 命令行,功能简单
2)dhcpmgr 功能更强大,基于图形/usr/sadm/admin/bin.可以配置dns 信息
与复杂的ip 地址池
其中的状态
00 为未分配
01 为分配,后跟mac 地址
unuseable,为锁定这个ip 不让它由dhcp 分配出去.
安装完成后,生成两个数据库在/var/dhcp 中
1)*dhcptab dhcp 参数信息
2)*dhcp_network dhcp client 信息,里头可以看见ip 地址与mac 地址的对应关系
dhcp client
solaris 则很做dhcp client,linux 做dhcp client 则用地比较多.
1)touch /etc/dhcp.hme0 里头无内容静态文件
2)up/down hme0 或ifconfig hme0 dhcp 动态命令
如果dhcp 信息与本地信息发生冲突,则dhcp 优先级高.
dhcpconfig 与dhcpmgr 调用的是这两个命令
pntadm 创建dhcp_network
dhtadm 创建dhcptab
daemon on server
/etc/init.d/dhcp start stop
/usr/lib/inet/in.dhcpd
NTP 时间同步协议
1.原理与简介
1) 全球有若干台一级时间服务器,与若干台二级时间服务器.与格林威治时间进行同步
这些时钟服务器是免费提供服务的,但我们更多用的是企业内部的时间同步,NTP 是一个逐渐
同步时间的过程,而且是有可能出现误差的.
2)NTP 应用在一些有时间要求的服务上,如网络管理,严格的日志系统等.
3)结构
xntpd ntp 的daemon
ntp.conf ntp 的配置文件
13
14
/etc/rc2.d/S74xntpd 启动脚本
如果存在/etc/inet/ntp.conf 则启动这个daemon.但这台机器是server 还是client,则取决
于ntp.conf 的文件内容.Server 与client 都是通过发广播来取得信息的.
pkg of ntp
SUNWntpr root
SUNWntpu Usr
/etc/inet/ntp.server ntp.client 模版文件
cp ntp.server ntp.conf 成为server
cp ntp.client ntp.conf 成为client
touch /var/ntp/ntp.drift NTP 必需的一个文件
http://www.eecis.udel.edu/~mills/ntp/clock1a.htm
ntp serverlist
2.实际配置
配置前先pkginfo | grep ntp,确保包已经安装
1) 用自己的时间做NTP server
a)cp /etc/inet/ntp.server /etc/inet/ntp.conf
b)touch /var/ntp/ntp.drift
c)vi /etc/inet/ntp.conf
server 127.127.XType.0 prefer
fudge 127.127.XType.0 stratum 0
改成
server 127.127.1.0 prefer
#fudge 127.127.XType.0 stratum 0
d)/etc/init.d/xntpd start
2)用外部的参考时间做NTP server
a)cp /etc/inet/ntp.server /etc/inet/ntp.conf
b)touch /var/ntp/ntp.drift
c)vi /etc/inet/ntp.conf
server 127.127.XType.0 prefer
fudge 127.127.XType.0 stratum 0
改成
server ip1
server ip2
server ip3
NTP server 信息见上面的url
d)/etc/init.d/xntpd start
14
15
3)配置NTP client
a)cp /etc/inet/ntp.clinet /etc/inet/ntp.conf
b)touch /var/ntp/ntp.drift
c)/etc/init.d/xntpd start
了解SNMP
用手机联系网络管理软件,管理员可以离开现场
1.概念与简介
snmp 可以运行在运行了snmp 协议的任何平台上,包括unix.win.cisco ,snmp 基于ip/udp.
可以跨网段执行.
角色:
提供服务者:agent
获取服务者:server
动作:
snmp 的三种动作
get 取得信息
set 设置信息
trap 设置一个条件,返回一个信号.
snmp 树
snmp 可管理的单元组织成一颗树
每一个点就是一个OID,唯一确定一个信息单位的id
如hostID 为1.3.6.1.4.1.42.3.1.2
这棵树是snmp 协议所有的,包括所有的常见设备的信息
而管理哪种设备就在树上寻找具体需要管理的信息
snmp 树的结构和框架是公开的,但每个节点上是厂商的产品信息,可能是私有的.
通常安装完snmp 软件后,snmp 树只包含一些通用信息,需要另外下载某个平台的软件包来补
全这棵树的信息.
15
16
如Solaris 平台
/usr/local/share/snmp/mibs
里头包括了这个树的信息,这个树不可能是全的.只能是包括solaris 的特性.
下载安装步骤
1.下载snmp 通用部分
2.去sun 下载solaris 的特性部分.
常见的网管软件
1)HP openview
openview 是一个系列软件,其中的网管软件叫NNM (nework node managment)
一个agent 1000$,一个server 2000$ 很贵
2)IBM Tivoli 系列
Netview 系列与openview 功能比较接近
3)what's up Gold
优点便宜,基本能实现功能
4)ucd-snmp
免费软件
www.net-snmp.org
net-snmp.sourceforge.net
可以下载到免费的snmp 工具,ucd-snmp 其软件以及帮助
可以装在agent,也可以装在server 上.基于命令行,没有图形,不用于企业.
软件的位置
/usr/local/bin/snmp* /usr/local/sbin/snmp* /usr/local/share/snmp
软件daemon mibs 库
DNS
DNS 这块一直似懂非懂,如果配DNS,只是copy 5 个template 文件到server 上,然后改几个字
符串,重起一下inetinit 就完了的话,那么,这样真的够吗?
这样是否有背系统管理员的原则?


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3435/showart_105071.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP