分类目录归档:Linux
一堆小Tips (4)
今天的Tip是关于虚拟化的。 问题的起因是青蛙当时使用的VirtualBox的网络配置很不方便,guset系统启动之后不能该网络连接类型不说(后来的版本做了改进,但是用着还是不够舒服),NAT模式下还不能直接跟Host系统通信。于是青蛙痛下决心,学习了一下Linux tap和br设备的用法,写了一个小脚本来搞定虚拟机的网络问题。 这个脚本同样也可以用于KVM的虚拟机。 这个脚本会根据配置文件建立一系列的tap设备,然后桥街到几个br设备上去,然后在br上设置好IP,如果需要NAT功能则配置iptables规则。 脚本文件在这里: http://gfrog.googlecode.com/hg/script/vnet.sh 配置文件如下: USER=gfrog #指定建立tap设备时所用的用户名 VNET_NUM=2 #需要建立的虚拟网络数 EXITIF=eth0 #SNAT的出口接口 #以下是每个虚拟网络的配置 [vnet1] VETH_NUM=4 #虚拟网络中包含的tap设备数 VNET_IP=11.11.1.1/24 #虚拟网络br设备上配置的ip地址 DONAT=no #是否需要做nat [vnet2] VETH_NUM=4 VNET_IP=11.11.2.1/24 DONAT=yes EXITIF=wlan0 #针对这个虚拟网络指定专门的SNAT出口 此配置脚本需要一个名为confget的程序解析配置文件,这个程序在debian/ubuntu源上有,fedora系需要自己找一下。 还要注意一点,因为每次建立tap设备的MAC地址都会变化,所以使用KVM虚拟机的时候需要在启动虚拟机时给网卡指定MAC地址,防止guest系统里的网卡名称变化。
一堆小Tips (3)
今天继续关于ssh的话题,青蛙本来想把今天这个主题放在昨天一起讲的,但是这两个Tip的关联不大,最后决定还是分开说。 在平时上网过程中,有可能遇到某个服务器(我们叫他S)无法访问的问题。 但是如果另外一台主机(叫做P)可以访问到S,并且我们还有P上面的ssh权限,那就可以把P当作跳板,直接访问到S。 假设要访问S上面的http(80)服务,那就执行如下命令: ssh user@P的地址 -L 8080:S的地址:80 这个命令会在本地打开8080端口,将连接转发到S的80端口上,这样就达到了从本地直接访问S的目的。 事实上ssh的-L参数主要是用来建立一条客户端到服务器之间的安全隧道,以便安全的传输数据。
一堆小Tips (2)
今天的Tip主题是ssh。 经常有人问,为什么Linux里面的ssh那么难用呢,就不能有个像secureCRT那样有地址簿的东西么。答案是,有,而且不需要其他的软件,ssh自己就能搞定。 要实现这个功能,首先要在~/.ssh里面建立一个config文件,并设置600权限。 touch ~/.ssh/config chmod 600 ~/.ssh/config 然后在这个文件中加入以下内容(以10.1.1.1为例) Host 1 #指定主机名,这个名称可以任意,取对自己方便的就可以 HostName 10.1.1.1 #指定主机的IP,这里是10.1.1.1 User aaa #默认登录的用户名 Port 22 #主机上sshd的端口号 以后,访问10.1.1.1就直接执行#ssh 1就可以了,非常方便。 … 继续阅读
一堆小Tips (1)
青蛙离职在即,在东软混了三年,在工作中积累的一些小技巧。估计这些技巧到了其他公司基本上用不到了。记录一下,方便后来人。青蛙准备分几天写完,每天一个小Tips。 今天要说的是IPsec VPN的密码问题。搞安全的部门自然有安全部门的特色,所有的服务器都需要拨VPN才能访问。用Windows的童鞋们都很幸福,第一次连接的时候输入帐号密码,然后选保存密码,下次就可以直接登录了。但是Linux的童鞋就比较麻烦了,按照部门攻略上的办法,每次都要输入密码。 青蛙在ipsec.conf(5)里面找到了这个问题的解决办法。 首先要编辑一下/etc/ipsec.conf conn work left=10.x.x.xxx leftnexthop=10.x.x.1 leftid=”C=cn,ST=liaoning,O=neusoft,OU=nsd,CN=xxx_l/emailAddress=xxx_l@neusoft.com” leftcert=cert.pem leftxauthclient=yes leftmodecfgclient=yes leftxauthusername=xxx_linux modecfgpull=no right=10.x.x.254 rightsubnet=10.xxx.x.0/24 rightxauthserver=yes rightmodecfgserver=yes rightid=”C=cn,ST=liaoning,O=neusoft,OU=nsd,CN=vpnser,E=vpnser@neusoft.com” auto=add 注意leftxauthusername=xxx_linux这行,关键就在这里了,这句话就指定了这个vpn 连接所用的用户名。 然后再编辑一下/etc/ipsec.secrets : RSA /etc/ipsec.d/private/key.pem @xxx_linux : XAUTH “password” @xxx_linux : XAUTH “password” 这行指定了用户名对应的密码。 修改完这两个文件以后,下次再连接VPN的时候就会自动连接了。 PS. /etc/ipsec.conf 还有一句auto=add,加上这句话之后,就可以使用#ipsec … 继续阅读
测试linux系统的启动速度
今天看到blog一则,话说ubuntu9.04竟然可以在14秒内启动。于是青蛙拿bootchart测了一下自己的debian。 青蛙自己的系统用了33秒,其中有启动vmware和virtualbox的服务的时间,还有启动ntfs-3g、lighttpd、transmission、wicd的,比较起来,成绩还不算太差。 不过wicd是用python写的,加载确实比较耗时,但是network-manager的可定制性实在不高,不知道还有没有同类的软件可以替换。 另外,bootchart加载之前的一段时间应该是内核加载的时间,看来青蛙还要继续精简内核才行。 顺便记录一下bootchart的使用方法。 说起来也很简单,统共分3步。 装好bootchart之后,配置自己的bootloader,例如grub,在内核选项里面加上一句: init=/sbin/bootchartd。 重启,bootchart自己就会在后台记录启动信息,默认保存在/var/log/bootchart.tgz中。 完成启动后,运行bootchart命令,它就会把启动信息转化为下面这张图啦。
在debian sid上面安装eva
自从青蛙人品爆发,在pidgin上面死活登录不上QQ以后,青蛙都是在wine上面跑QQ.在wine上面速度慢不说,QQ时不时的来一下非法操作就把青蛙折磨的死去活来。 据说最近eva又升级了,于是青蛙决定换用eva。 Debian的apt里面是没有eva的。青蛙上网搜了一圈,也没有发现eva的升级包,连它的主页上也都还是很久很久以前的版本(大概eva已经转入地下了)。青蛙最后在ubuntu的源里面终于翻倒了eva的deb包了。 eva在ubuntu源的universe里面,随便找一个ubuntu的镜像(青蛙用的是中科大的源),在/pool/universe/e/eva目录里找到eva_0.4.9+svn20080215-0ubuntu1_i386.deb,下载回来备用。 在正式安装eva之前,青蛙还要搞定它的依赖性问题。 ubuntu里面的eva是依赖于kdelibs4c2a这个包的。但是debian里面的kdelibs4c2a存在一个依赖性的bug: 它依赖于包libopenexr2ldbl,但是这个包在debian的i386源里面竟然没有。 于是青蛙再从ubuntu源里把libopenexr2ldbl给抓回来,dpkg -i安装之,然后执行#aptitude install kdelibs4c2a,安装一系列的依赖包。 顺便说一句,debian跟ubuntu这两个兄弟有时候还真不错,互相谁也不挑谁的,deb包拿过来一般都能直接用。 最后,执行#dpkg -i eva_0.4.9+svn20080215-0ubuntu1_i386.deb,eva安装成功。聊天去也~
世界上最小的linux
上面的图片就是号称世界上最小的linux:picotux 100(右侧为picotux 112)。 这个小东西只有35mm×19mm×19mm大小,只比一个RJ45接口大了那么一点点。 它使用32-bit ARM 7 Netsilicon NS7520处理器,主频55MHz, 搭载2M~4M Flash和8M SDRAM,带有一个10/100M网卡,一个可以达到230.400 bps的串口,还有5个I/O针脚。 使用3.3V电压供电。 软件方面,它使用uClinux 2.4.27系统,系统大小最少720KB。Shell可以使用Busybox,使用CRAMFS、JFFS2文件系统, 还可以使用NFS, 有Webserver、Telnet等等程序。开发工具使用GUN Toolchain,使用GCC3.4.4以上版本和ulibc0.9.26以上版本。 这东东售价最低99欧元。






