Linux管理日记(二)
14 启动内网端口转发
### 2. 查看IP以及网卡信息 # 可以发现, eth0 的地址 inet addr:10.144.7.195, 此为内网网卡 # 公网网卡, eth1 的地址 inet addr:115.28.9.136, # 此外,还有一个回环地址, 127.* ifconfig ### 2.0 查看端口占用情况 netstat -ntl ### 2.1 查看系统中现有的iptables规划集 iptables --list -t nat ### 2.2 查看IP转发的启用状态 cat /proc/sys/net/ipv4/ip_forward ########清空 nat table # --flush -F , Delete all rules # --delete-chain -X , Delete a user-defined chain # --zero -Z , Zero counters in chain or all chains iptables -F -t nat iptables -X -t nat iptables -Z -t nat ######### 启用IP包转送,即时生效 echo 1 > /proc/sys/net/ipv4/ip_forward # IP包转送,也可以设置 net.ipv4.ip_forward = 1 vim /etc/sysctl.conf # 然后执行生效, 重启依然有效 sysctl -p # 将 3306端口映射到 10.144.169.131:3306, # PREROUTING 和 POSTROUTING 都必须设置 # 经测试已经打通 iptables -t nat -A PREROUTING -m tcp -p tcp --dport 6606 -j DNAT --to-destination 10.144.169.131:6606 iptables -t nat -A POSTROUTING -j MASQUERADE
15. 压缩文件
将当前目录下的 blog 目录打包到 blog.tar.gz 文件中:
tar -zcf blog.tar.gz blog
其中, -c 表示压缩,compress; -z表示进行zip压缩; -f 就表示输出到文件(而不是输出流,内存什么的.); 后面的 blog 就是相对的路径, 可以是空格分隔的多个文件/目录.
而命名为 .tar.gz 也是一种命名习惯,一眼就可以看出是经过 gzip 压缩的 tar文件。
如果不需要压缩,命令如下所示:
tar -cf blog.tar blog
16. 解压文件
对应的目录如下:
tar -zxf blog.tar.gz
如果不是gzip压缩,可以如下:
tar -xf blog.tar
17. NFS简单使用
参考地址: http://blog.chinaunix.net/uid-26284318-id-3111651.html
# 说明,centos5使用的是portmap
# yum install nfs-utils portmap
# centos6 使用的是rpcbind
# yum -y install nfs-utils rpcbind
NFS服务端
# 安装软件包 yum -y install nfs-utils rpcbind # 创建测试目录 cd /usr/local/ mkdir /usr/local/nfstest mkdir /usr/local/nfstest/nfsdir # 添加内容 echo "/usr/local/nfstest 10.144.169.0/24(rw,no_root_squash)" >> /etc/exports cat /etc/exports chkconfig nfs on # 启动 /etc/init.d/rpcbind start /etc/init.d/nfs start
NFS客户端
# 安装软件包 yum -y install nfs-utils rpcbind showmount -e 10.144.169.135 # cd /usr/local/ mkdir /usr/local/nfstest mount -t nfs 10.144.169.135:/usr/local/nfstest/ /usr/local/nfstest/ ll /usr/local/nfstest/ # 设置自动加载,需要写入到 /etc/fstab # 此处暂时还不理解 10.144.169.135:/usr/local/nfstest/ /usr/local/nfstest/ nfs nodev,ro,rsize=32768,wsize=32768 0 0
18. 虚拟机复制以后设置网卡信息
VMware虚拟机复制以后,可能出现网卡信息加载不成功的问题;
Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED]
此时,需要修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件的信息以避免冲突。方法如下:
# cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:d7:b6:a9", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:90:dd:db", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
先查看物理硬件信息,然后记下 eth1网卡的MAC地址信息,比如"00:0c:29:90:dd:db";
然后修改eth0配置脚本:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改以后的信息类似如下所示,其中,我这里的虚拟机NAT对应的是 192.168.254.*网段,具体的网段信息可以看windows的 "VMware Network AdapterVMnet8" 这张网卡的信息,或者在cmd下输入 ipconfig 命令查看,而 192.168.254.2 是VMWARE的网关。自动NAT的地址。如果审不准请查看VMWARE的自动DHCP信息。
# cat /etc/sysconfig/network-scripts/ifcfg-eth0" DEVICE=eth1 HWADDR=00:0C:29:90:DD:DB TYPE=Ethernet UUID=cfb84a5c-c605-46ee-853c-214a7f4d7546 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR="192.168.254.137" NETMASK="255.255.255.0" GATEWAY="192.168.254.2" DNS1="192.168.254.2"
然后,重启网络即可。在我这里是测试ping www.baidu.com 是通的。
#重启网络 service network restart
另外,针对安装VMWARE以后windows7的网络很慢的问题,可以在 控制面板 --> 网络连接 --> 本地连接 --> 属性 --> Internet4设置 --> 高级 --> IP设置 --> 默认网关 设置跃点数为 1 即可。
参考地址: http://www.linuxidc.com/Linux/2012-12/76248.htm
另外找到一个很好的Linux管理员日记: http://xiangxingchina.iteye.com/blog/960337
还有一个CSDN专家的 http://blog.csdn.net/cndes/article/details/4636909
19. 安装rsync
服务器端:
############ ############ ## 服务器端 # 安装 (xinetd, 超级Internet守护进程) yum -y install rsync xinetd # 启动rsync依赖服务 /etc/init.d/xinetd start chkconfig xinetd on mkdir /usr/local/ieternal mkdir /usr/local/ieternal/upload mkdir /etc/rsyncd #rsync服务器的配置文件 touch /etc/rsyncd/rsyncd.conf #定义服务器信息的文件 touch /etc/rsyncd/rsyncd.motd #用户密码文件 touch /etc/rsyncd/rsyncd.secrets chmod 600 /etc/rsyncd/rsyncd.secrets ############################## ############################## vim /etc/rsyncd/rsyncd.conf
文件 /etc/rsyncd/rsyncd.conf 的内容如下: 其中只定义了一个upload的节,后面的客户端连接需要指明连到此节
address=192.168.254.137 port=873 max connections=10 uid=root gid=root use chroot=no strict modes=yes motd file =/etc/rsyncd/rsyncd.motd log format=%t %a %m %f %b syslog facility=local3 timeout =300 [upload] path=/usr/local/ieternal/upload/ exclude =repository/ comment =upload path ignore errors read only=no list=yes auth users =rsync_user secrets file =/etc/rsyncd/rsyncd.secrets hosts allow=192.168.254.0/255.255.255.0 hosts deny=* pid file =/var/run/rsyncd.pid lock file =/var/run/rsync.lock log file =/var/log/rsync.log
指定用户与密码,此处显示了内容:
#cat /etc/rsyncd/rsyncd.secrets rsync_user:pass_word
欢迎信息:
#cat /etc/rsyncd/rsyncd.motd services user=rsync_user;pass_word=***
启动rsync服务
#启动rsync服务: /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf # 查看端口状态 netstat -ntl
客户端:
# 1.安装 mkdir /usr/local/ieternal mkdir /usr/local/ieternal/upload mkdir /etc/rsyncd yum -y install rsync xinetd # 2.启动rsync依赖服务 /etc/init.d/xinetd start chkconfig xinetd on # 3.客户端必须配置密码文件 touch /etc/rsync.pas chmod 600 /etc/rsync.pas vim /etc/rsync.pas
指定密码:
#cat /etc/rsync.pas pass_word
执行同步:
# 4.执行同步 # 下载: rsync -auzv --progress --delete --password-file=/etc/rsync.pas rsync_user@192.168.254.137::upload /usr/local/ieternal/upload # 上传: rsync -auzv --progress --delete --password-file=/etc/rsync.pas /usr/local/ieternal/upload/* rsync_user@192.168.254.137::upload
错误信息:
rsync: failed to connect to 192.168.254.137: No route to host (113) rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6]
已查明是由于防火墙开启引起的,此时可以修改防火墙过滤规则,或者在客户端与服务器端停用防火墙:
# 停止防火墙 service iptables stop
20. IO监控工具
安装:
yum -y install iotop
使用
# iotop
大体的汇总信息如下:磁盘读写的速度
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
21. 安装memcached
如果没有gcc,需要安装:
# 安装 gcc yum -y install gcc
安装依赖库 libevent::
# 安装依赖库 libevent yum -y install libevent libevent-devel
下载 程序包, 参考地址是:http://memcached.org/
# 下载 mkdir /usr/local/ieternal mkdir /usr/local/ieternal/download cd /usr/local/ieternal/download wget http://www.memcached.org/files/memcached-1.4.17.tar.gz
对下载包校验:
# 计算 sha1值, # linux自带的哈希校验工具: sha1sum 或 md5sum; # 2b4fc706d39579cf355e3358cfd27b44d40bd79c sha1sum memcached-1.4.17.tar.gz
解压:
# 解压 tar zxf memcached-1.4.17.tar.gz
安装:
# 安装 # 默认情况, memcached 安装到 /usr/local/bin/ 目录下 cd memcached-1.4.17 ./configure make make install
前台启动:
# /usr/local/bin/memcached -p 11211 -m 64m -vv -u root /usr/local/bin/memcached -u root
后台启动:
# 后台启动 # -h 只显示帮助信息 # -u root 时指定以某个用户运行 # -p TCP端口号; # -m 最大内存大小,默认为 64M # -vv 用 very verbose 模式启动,调试信息和错误 输出到控制台 # -d 作为daemon在后台启动 /usr/local/bin/memcached -p 11211 -m 64m -d -u root
启动时使用pid文件,将进程ID写入到特定文件:
# 后台启动,端口号,内存,用户,pid文件 /usr/local/bin/memcached -d -p 11211 -m 128m -u root -P /usr/local/memcached.pid ps aux |grep memcached cat /usr/local/memcached.pid # 杀进程,注意不是单引号,而是 大键盘数字1前面那个字符` kill `cat /usr/local/memcached.pid`
22. 使用 GPG 生成密钥对
# 安装GnuPG, 即GPG,一般系统已经自带 yum install gpgme -y # 查看帮助信息 gpg --help # 生成密钥... gpg --gen-key
生成密钥及更多的详细内容,请参考: GPG入门教程
23. Apache Bench基准测试
Apache Bench 简称 ab,是 Apache服务器附带的一款压力基准测试工具。使用方式:
/usr/local/apache2/bin/ab -c 10 -t 10 http://www.baidu.com/
其中, -c 是指concurrency,即并发线程数;-t 是指时间,单位是秒。上面的意思是: 测试 百度 10秒钟,采用 10个客户端线程.
另外还有一个常用的参数是 -n, 即总的限制测试次数是多少次,如果多个参数组合使用,应该是先达到的条件会成为限制条件。
当然,上面是使用的全路径,请根据安装路径决定。也可以先进入apache的bin目录:
cd /usr/local/apache2/bin/ # 测试100次 ./ab -c 10 -n 100 http://www.baidu.com/
在windows下的使用方式也是一样的,只是路径不一样而已。
当然,也可以将结果输出到文件之中,采用HTML格式:
./ab -c 10 -t 10 -w http://www.baidu.com/ >> /usr/local/ab_20140311204010.log.html
详细的帮助信息如下所示:
[root@ALY bin]# cd /usr/local/apache2/bin/ [root@ALY bin]# ./ab -h 使用方式: ./ab [options] [http://]hostname[:port]/path 选项包括: -n requests 要执行的请求的次数 -c concurrency 要构建多少个并发线程来执行 -t timelimit 最大限制时间,单位(Second,秒). 时间到后会等待响应完成才退出 -b windowsize TCP协议 发送/接收的缓冲区大小, 单位字节(byte) -p postfile POST请求要发送的数据. 需要设置选项 -T -u putfile PUT请求要发送的数据. 需要设置选项 -T -T content-type 发送的内容格式头信息 (Content-type), 例如 'application/x-www-form-urlencoded' 等, 默认值是 'text/plain' -v verbosity 需要打印的故障排除日志信息级别 -w 使用 HTML tables 格式打印结果信息 -i 使用 HEAD 方式请求,而不是 GET 方式 -x attributes 要插入作为 table attributes 的字符串 -y attributes 要插入作为 tr attributes 的字符串 -z attributes 要插入作为 td/th attributes 的字符串 -C attribute 添加 cookie信息, 示例: 'Apache=1234. (可多个) -H attribute 添加任意的头信息(header line), 例如: 'Accept-Encoding: gzip' 插入到其他正常的头信息后面. (可多个) -A attribute 添加基本网站认证信息(Basic WWW Authentication), 属性采用英文冒号(:) 来分隔 username 和 password. -P attribute 添加代理用户密码(Basic Proxy Authentication), 属性采用英文冒号(:) 来分隔 username 和 password. -X proxy:port 要使用的代理服务器,以及端口号 -V 只打印版本号并且退出 -k 使用 HTTP KeepAlive 特性 -d 不要显示响应时间统计百分比. -S 不要显示 信任估计(? confidence estimators) 和警告信息. -g filename 将收集的数据输出到 Gnuplot交互式绘图 格式文件. -e filename 将响应时间统计百分比输出到 CSV 文件 -r 当 socket 接受到错误时不要退出. -h 显示帮助信息(实际上就是此信息)
Linux管理日记(二)的更多相关文章
- Linux学习日记(二)
在linux上运行.Net程序 并安装Linux网站 一.环境 ubuntu14.10(桌面版 官网下载的最新版) jexus5.6.3 正式版 MonoDevloper (安装完后里面有个Ubunt ...
- Linux管理日记(三)
23. 时间同步 同步时间可以使用 root 执行如下命令完成: rdate -s time.nist.gov 如果需要自动同步,可以采用crontab自动调度,每小时执行一次: 编辑 cronta ...
- Linux管理日记(一)
作者: 铁锚 日期: 2013年12月23日 1. 安装 webmin # 安装 webmin cd /usr/local/ieternal/ mkdir download cd download w ...
- linux(十二)之用户管理
前面学习了那么多关于linux的东西,相信大家都对linux应该 有一个大概的了解了.现在给大家分享的是linux中的用户管理,接下来让我们进入正题吧! 今天其实放松了一整天了,有点后悔自己没有把这些 ...
- linux磁盘管理系列二:软RAID的实现
磁盘管理系列 linux磁盘管理系列一:磁盘配额管理 http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...
- Linux内存管理(二)
Linux内存管理之二:Linux在X86上的虚拟内存管理 本文档来自网络,并稍有改动. 前言 Linux支持很多硬件运行平台,常用的有:Intel X86,Alpha,Sparc等.对于不能够通用的 ...
- Linux设备管理(二)_从cdev_add说起
我在Linux字符设备驱动框架一文中已经简单的介绍了字符设备驱动的基本的编程框架,这里我们来探讨一下Linux内核(以4.8.5内核为例)是怎么管理字符设备的,即当我们获得了设备号,分配了cdev结构 ...
- 运维之Linux基础(二)
运维之Linux基础(二) 1. file 命令基期用法 2. 文件系统 Linux的文件系统结构是树状结构,所有的文件都在/root跟目录下 /boot:系统启动相关的文件, 如:内核.initrd ...
- linux管理面板
小编在这儿给大家介绍几款linux管理面板,希望感兴趣的童鞋可以去尝试下.个人觉得宝塔和appnode这两个面板不仅从功能和样式都还是做的比较好的,但是部分功能是收费的,但是webmin绝对是一款免费 ...
随机推荐
- ACM Doing Homework again
Ignatius刚刚从第30届ACM / ICPC回到学校.现在他有很多作业要做.每个老师给他一个截止作业的截止日期.如果Ignatius在截止日期之后进行了家庭作业,老师将减少他的最终考试成绩.现在 ...
- lua 序列化函数
local function f( ... ) print('hello') end local x = string.dump(f, true) loadstring(x)()
- SpringBatch配置数据库
Spring Batch提供一个任务的仓库实现将任务元数据保存在数据库中,以便监控你的批量处理进程以及其结果. Spring Batch 数据库引擎支持的有:DB2,Derby, H2, HSQLDB ...
- Android 实现串口的移植
安卓串口的实现,需要底层C++配合,不过这次我们根据framework中的思想,直接用API修改提供给JAVA层调用,这个就比较简单了. DEV项目需要,要实现在Android中实现串口的收发功能,有 ...
- [Boost] 1.57.0 with VS2013 + Intel compiler
The compiled version can be found below. Do not foget to give me a star. :) http://pan.baidu.com/s/1 ...
- Writing Sentences [1]
1) try 'there will be' instead of 'then' In homogeneity MRF, if and , there will be even if . 2) in ...
- 详解EBS接口开发之供应商导入(补充)--错误信息处理
check reject details on records of AP_SUPPLIER_INT SELECT s.parent_table,s.reject_lookup_code,S.LAST ...
- 4-sum问题
给定一个整数数组,判断能否从中找出4个数a.b.c.d,使得他们的和为0,如果能,请找出所有满足和为0个4个数对. #define SIZE 10 void judgeAndPut(int* arr, ...
- XMPP(三)-安卓即时通讯客户端
由于时间原因,所以更新比较慢 ,还请大家谅解,此次是对上篇文章中的安卓客户端初级版本进行的一次更新优化,在这次更新后,就有那么一点样子了,可以拿的出手了,呵呵,还在关注的同学也可以及时下载更新.此次主 ...
- JAR、WAR、EAR的使用和区别
最近接触这几个词较多,停下来总结总结它们的区别和联系,更好的深刻理解 Jar.war.EAR.在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式.但是它们的使用目的有所区别: ...