行至水穷处,坐看云起时

  • rss
  • 博客首页
  • 音乐故事
  • 摄影相册
  • 站点导航
  • 与我联络

CentOS5.3下xen虚拟机的配置笔记

2011-06-02 | 16:41

CentOS5.3下xen虚拟机的配置笔记
(本人二次修改)2010-01-12 20:31最近想入手VPS了,赶紧转了一篇使用说明过来,这里就先谢谢作者啦~

以下操作都是ssh远程进行的,首先登陆上你的服务器
好了,不管其他的,先换源,默认源太慢了,我用的163的源,很快的

cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
vim CentOS-Base.repo

加入以下内容

[base]
name=CentOS-$releasever – Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#released updates

[updates]
name=CentOS-$releasever – Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever – Addons
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#additional packages that may be useful
[extras]
name=CentOS-$releasever – Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever – Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=0
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

ok,先更新吧

yum update

然后安装xen以及xen内核

yum install xen kernel-xen

然后修改启动文件使用xen内核启动

vi /etc/grub.conf

将文件中的default改为0,然后reboot重启机器

这样xen就装好了,我是懒人,不想自己装系统,直接下载一个centos的xen镜像好了

http://mirrors.esited.com/stacklet/

各种操作系统的XEN镜像

http://mirrors.esited.com/stacklet/centos/centos.5-4.x86.20091105.img.tar.bz2

wget http://mirrors.esited.com/stacklet/centos/centos.5-3.x86-64.20090606.img.tar.bz2
tar jxf centos.5-3.x86-64.20090606.img.tar.bz2
mkdir /data/mv/xen01/ -p
cp centos.5-3.x86-64.img /data/mv/xen01/centos01.img
cp centos.5-3.x86-64.xen3.pygrub.cfg /data/mv/xen01/xen01.cfg

cp centos.5-4.x86.img /data/mv/xen01/centos01.img
cp centos.5-4.x86.xen3.cfg /data/mv/xen01/xen01.cfg

现在创建一个swap交换扇区给虚拟机用,我创建了个512M的

dd if=/dev/zero of=swap.img bs=1M count=1 seek=512
mkswap swap.img

修改配置文件加入swap镜像

vi xen01.cfg
bootloader = “/usr/bin/pygrub”
memory = 512
name = “centos01″
vif = [ '' ]
disk = ['file:/data/mv/xen01/centos01.img,sda1,w','file:/data/mv/xen01/swap.img,sda2,w']
root = “/dev/sda1″
extra = “fastboot”

配置文件很简单,memory就是给虚拟机设定的内存大小,因为我的xen版本还是老的3.0.3,所以disk这里还是以file:开始的,新的版本就不是这样的了
好了,现在启动吧

xm create -c xen01.cfg

默认的用户名密码是:root/password
现在你应该可以进入系统了,默认应该是没有加入swap的,我们来给他加上,虚拟机默认应该没有vi,那就用nano好了

nano /etc/fstab

在最上面加上这样一行

/dev/sda2 swap swap defaults,noatime 0 0

重启虚拟机就行了,free看看,是不是已经有swap了?
现在我们来配置一下网络,我这里的情况是这样的:
4个ip,2个电信,2个网通,主机有2张网卡,eth0绑定1个电信,eth1绑定了1个网通,现在剩下2个ip可以分配
在主机brctl show查看现有的网络桥,看看是否有xenbr0或xenbr1,这里的xenbr0默认应该是和eth0绑定,xenbr1则绑定的eth1
如果两个都没有,那么手动来创建

/etc/xen/scripts/network-bridge start bridge=xenbr0 netdev=eth0 vifnum=0
/etc/xen/scripts/network-bridge start bridge=xenbr1 netdev=eth1 vifnum=1

进入虚拟机,ifconfig先记录下虚拟机的mac地址,然后编辑你的虚拟机的配置文件

00:16:3E:16:80:3A

vi xen01.cfg
bootloader = “/usr/bin/pygrub”
memory = 512
name = “centos01″
vif = [ 'mac=00:16:3E:xx:xx:xx,bridge=xenbr0,ip=61.160.xx.xx' ]
dhcp = “off”
disk = ['file:/data/mv/xen02/centos.img,sda1,w','file:/data/mv/xen02/swap.img,sda2,w']
root = “/dev/sda1″
extra = “fastboot”

这里,我设定的bridge使用的是主机绑电信ip的网卡,那么虚拟机的ip也必须是电信的ip,否则将不能使用
关闭你的虚拟机,然后再启动,进入虚拟机进行剩下的设定
首先编辑网络配置文件

nano /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=61.160.x.x
TYPE=Ethernet
DEVICE=eth0
HWADDR=00:16:3E:xx:xx:xx
BOOTPROTO=none
NETMASK=255.255.255.x
IPADDR=61.160.xx.xx
ONBOOT=yes
USERCTL=no
IPV6INIT=yes
PEERDNS=yes

这里的相关设置除了HWADDR和IPADDR,其他的直接复制主机的eth0配置即可
然后编辑/etc/resolv.conf 加入nameserver 211.x.x.x,或者修改现有的,这是dns,也用主机的就行了
重启网卡,基本上这虚拟机就配置好了

/etc/init.d/network restart

网通机器类似,不过网通的配置文件需要bridge=xenbr1
默认的镜像文件只有1G,系统占用了不到500M,这肯定是不够用的,那么我们得给这镜像文件加点空间
加多少好呢?现加4G吧,一共5G也差不多够用了。首先关闭你的虚拟机,然后才能加

dd if=/dev/zero of=/tmp/temp_expand bs=1M count=1 seek=4069
cat /tmp/temp_expand >> /data/mv/xen01/centos01.img
resize2fs centos01.img(这里可以提示要先RUN个啥命令如:Please run ‘e2fsck -f centos01.img’ first.,照提示做就行了)

ok了,现在启动虚拟机,进去以后df -h看看,是不是已经变成5G了。

—————————————————————-

5.2 Xen服务器的启动;

xend服务器的启动/停止/重启/状态查询,请用下面的命令;

[root@localhost ~]# /etc/init.d/xend start 启动xend,如果 xend没有运行)
[root@localhost ~]# /etc/init.d/xend stop 停止xend,如果xend正在运行)
[root@localhost ~]# /etc/init.d/xend restart 重启正在运行的 xend,如果xend没有运行,则启动
[root@localhost ~]# /etc/init.d/xend status 查看xend状态

启动xendomains 服务器的启动/停止/重启/状态查询,请用下面的命令;一般的情况下,xend服务器启动了,xendomains也会自动启动。所以这个只是掌握一下就行了;

[root@localhost ~]# /etc/init.d/xend start 启动xend,如果 xend没有运行)
[root@localhost ~]# /etc/init.d/xend stop 停止xend,如果xend正在运行)
[root@localhost ~]# /etc/init.d/xend restart 重启正在运行的 xend,如果xend没有运行,则启动
[root@localhost ~]# /etc/init.d/xend status 查看xend状态

[root@localhost ~]# /etc/init.d/xendomains start
[root@localhost ~]# /etc/init.d/xendomains stop
[root@localhost ~]# /etc/init.d/xendomains restart
[root@localhost ~]# /etc/init.d/xendomains status

5.3 Xen 管理工具xm;

我们前面提到Xen的可执行命令中,我们可能看到了一些以xen开头的命令,您不妨尝试一个一个的尝试一下他们是做什么用的;比如xend是服务器的开启运行命令 … ….

其中xm命令,就是管理Xen的最基本的工具;您可以通过xm –help 来获得帮助;

5.31 列出所有正在运行的虚拟操作系统;

[root@localhost ~]# /usr/sbin/xm list

Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 450 1 r—– 5377.0
fc5 4 256 1 -b—- 0.1

列出所有正在运行的虚拟系统(也可以称为虚拟机);我们可以看到,一个名为Domain-0的系统正在运行。Domain-0就是Xen本身,也可以称为虚拟平台内存大小,而Domain-0负责提供其它虚拟操作系统的硬件环境,其它的系统都是基于Domain-0开始的,我们看到他的ID为0就应该知道它的权限是至高无尚的。所占用的内存是450M,不过这个是可以指定的。 虚拟的CPU个数是1个,运行状态处于r,也就是run,正在运行中;运行时间是5377秒;

还有一个虚拟系统fc5,他的id是4,占用内存256M,虚拟CPU个数是1个 … …

5.32 通过配置文件来引导被虚拟的操作系统;

[root@localhost ~]# /usr/sbin/xm create -c 虚拟操作系统的启动配置文件

比如我们要启动被虚拟的操作系统Fedora Core 5.0 ,我们要写一个启动Fedora的配置文件,比如是fc5vm.cfg。然后就可以通过下面的命令来引导Fedora了;

[root@localhost ~]# /usr/sbin/xm create -c fc5vm.cfg

5.33 从终端或控制台登录正在运行的虚拟操作系统;

[root@localhost ~]# /usr/sbin/xm console 正在运行的虚拟操作系统的Name或ID;

举例:

[root@localhost ~]# /usr/sbin/xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 512 1 r—– 5561.9
fc5 4 256 1 -b—- 0.2

[root@localhost ~]# /usr/sbin/xm console fc5

5.34 存储正在运行的虚拟操作系统的状态及唤醒虚拟操作系统;

[root@localhost ~]# /usr/sbin/xm save
[root@localhost ~]# /usr/sbin/xm restore

举例:

[root@localhost ~]# /usr/sbin/xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 458 1 r—– 260.3
fc5 2 256 1 —— 6.5

[root@localhost ~]# /usr/sbin/xm save 2 fc5run.save
[root@localhost ~]# /usr/sbin/xm restore fc5run.save
[root@localhost ~]# /usr/sbin/xm console fc5

5.35 停止正在运行的虚拟操作系统/激活停止的虚拟操作系统

[root@localhost ~]# /usr/sbin/xm pause
[root@localhost ~]# /usr/sbin/xm unpause

举例:

[root@localhost ~]# /usr/sbin/xm list

Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 458 1 r—– 260.3
fc5 2 256 1 —— 6.5

[root@localhost ~]# /usr/sbin/xm pause 2
[root@localhost ~]# /usr/sbin/xm unpause 2

5.36 调整虚拟平台/虚拟操作系统的占用内存

我们可以调整正在运行中的虚拟平台(Domain-0)所占内存大小及虚拟操作系统所占用的内存大小;

[root@localhost ~]# /usr/sbin/xm mem-set

举例:

[root@localhost ~]# /usr/sbin/xm list

Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 458 1 r—– 260.3
fc5 2 256 1 —— 6.5

[root@localhost ~]# /usr/sbin/xm mem-set 2 128

5.37 关闭被虚拟的系统

[root@localhost ~]# /usr/sbin/xm shutdown 虚拟操作系统的Name或DomID
[root@localhost ~]# /usr/sbin/xm destroy 立即停止虚拟的系统 (重要);

举例:

[root@localhost ~]# /usr/sbin/xm list

Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 458 1 r—– 260.3
fc5 2 256 1 —— 6.5

[root@localhost ~]# /usr/sbin/xm shutdown fc5
或
[root@localhost ~]# /usr/sbin/xm shutdown 2
或
[root@localhost ~]# /usr/sbin/xm destroy 2

5.38 调整虚拟平台及虚拟操作系统的虚拟CPU个数;

[root@localhost ~]# /usr/sbin/xm vcpu-set

举例:

[root@localhost ~]# /usr/sbin/xm list

Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 458 1 r—– 260.3
fc5 2 256 1 —— 6.5

[root@localhost ~]# /usr/sbin/xm vcpu-set 2 4

5.39 查看虚拟系统运行的状态;

[root@localhost ~]# xm top
或
XEN中安装Linux虚拟机 (半虚拟化)

感谢脱壳蜗牛小高,Q_Q~!

xen同linux是一个完美的组合,是目前linux上的最佳的虚拟化解决方案,特别适合于服务器应用,如用于将多个服务器合并到一台物理服务器上,以节省运营成本(机房空间、电力消耗);或者是出于安全角度的考虑,需要将不同的应用进行分区,以便降低安全风险等。

环 境:VMware 6.0安装虚拟机CentOS5.2,在CentOS5.2中安装XEN,在XEN中安装虚拟机CentOS5 .2。

CPU:Intel E2160 (不支持VT)要虚拟WindowsXP必须CPU支持VT才行。

宿主机: CentOS 5/RHEL 5(cdrom加载CentOS5 iso镜像)

关闭SElinux和iptables。

XEN虚拟机:CentOS 5/RHEL 5

1>首先在VM6中建立虚拟机,添加2块磁盘,一块安装宿主机,一块预留安装XEN虚拟机。

2>在宿主机中YUM安装xen包和vsftp包。
[root@localhost ~]# yum -y install xen
[root@localhost ~]# yum -y install vsftpd.i386

3>修改GRUB配置文件,将XEN内核启动改成默认,这样不用手动选择启动项了。
[root@localhost ~]# vi /boot/grub/grub.conf
将 default=1 值改为 0

4>用xm list 命令查看Domain是否已经启动。
[root@localhost ~]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 778 1 r—– 85.4

5>将cdrom挂载到FTP目录,将ftp匿名用户开启。
[root@localhost ~]# mount /dev/cdrom /var/ftp/pub/
mount: block device /dev/cdrom is write-protected, mounting read-only

6>用xm命令行建立虚拟机
[root@localhost ~]# virt-install
What is the name of your virtual machine?vm1 #虚拟机的名字vm1
How much RAM should be allocated (in megabytes)? 400 #为虚拟机分配内存400M 最低256M
What would you like to use as the disk (file path)? /dev/sdb1 #sdb为第二块硬盘
Would you like to enable graphics support? (yes or no) no #不启用图形化支持
What is the install location? ftp://192.168.10.1/pub/ #填上本机FTP地址,前提是CDROM已经挂载到这个FTP目录,并开启了匿名用户。

可以看到安装文件内核已经开始启动!
Starting install…
Retrieving file .treeinfo… 0 B 00:00
Retrieving file vmlinuz.. 100% |=========================| 2.0 MB 00:00
Retrieving file initrd.im 100% |=========================| 5.0 MB 00:00

接下来安装过程就不用我说了吧,TEXT模式的。
7>xen 一些常用的管理命令
xm list :列出Domain 。
xm console Domain-ID :连接一个虚拟机,可以为虚拟机名称或者是ID号。
xm create :建立一个 Domain-U 的虚拟机,-C 选项为创建并连接虚拟机。
xm reboot Domain-ID :重启一台虚拟机。
xm save Domain-ID:存储虚拟机的状态。
xm restore Domain-ID:还原虚拟机状态。
……

虚拟机和宿主机之间的切换用ctrl+] 即可。

Comments
没有留言 »
分类
心得分享
Tags
xen, 虚拟化
订阅RSS留言 订阅RSS留言
Trackback Trackback

xen建立虚拟机方法

2011-06-01 | 18:21

1. yum install xen*

2.修改启动grub.conf

3. virt-install -n vm01 -r 512 --vcpus=2 -f vm01.img -s 4 --nographic  -p  -l <镜像地址如 http://mirrors.kernel.org/centos/5.3/os/i386 >

virt-install 参数解析:

-n                            # 虚拟机的名称,这里我们的名称是 vm01

-r 512                                              # 虚拟机的最大内存,单位 MB 。这里我们的内存是 512m

--vcpus=2                                          # 虚拟机的 CPU 数量,这里我们的数量是 2 个

-f  vm01.img                   # 虚拟机虚拟硬盘的名称,我们这里用 vm01.img

--nographic                                        # 不安装图形界面。

-l   nfs:10.10.113.14:/opt/CentOS/mirrors/5.5        # 系统的镜像路径。 Xen 只支持 FTP/HTTP/NFS

 

在客户机上执行下面的命令让XEN客户机不同步主机时间
echo 1 > /proc/sys/xen/independent_wallclock
然后就可以自由设置时间了,客户机重启后还是会同步主机时间
要让这个配置开机有效可以将上面的命令加入/etc/rc.local
或添加下面的配置到/etc/sysctl.conf中
xen.independent_wallclock  = 1

Comments
没有留言 »
分类
心得分享
Tags
xen, 虚拟化
订阅RSS留言 订阅RSS留言
Trackback Trackback

wget 抓站方法

| 18:13

1. wget  -r -np 站点url   (-np表示不抓父目录)

2.wget -m -l xxx  站点url  (xx表示层数)

-e robots=off 参数可以不理会站点的 robots.txt 文件,嘿嘿

更多请参考 http://colder.blog.163.com/blog/static/173946618201011271311475/

Comments
没有留言 »
分类
心得分享
Tags
wget
订阅RSS留言 订阅RSS留言
Trackback Trackback

在VPN中,只让国外的网站走VPN

2011-05-31 | 4:06

http://code.google.com/p/chnroutes/wiki/Usage 这里,详细提到了原理

主要利用来自 http://ftp.apnic.net/apnic/dbase/data/country-ipv4.lst 的数据生成路由命令脚本, 让vpn客户端在进行连接的时候自动执行. 通过这些路由脚本, 可以让用户在使用vpn作为默认网络网关的时候, 不使用vpn进行对中国国内ip的访问, 从而减轻vpn的负担, 和增加访问国内网站的速度.

在使用这些脚本之前, 请确保你在自己的电脑上已经成功配置好一个vpn连接(pptp 或者 openvpn), 并且让之以默认网络网关的方式运行, 这通常也是默认配置, 即vpn接入之后所有网络流量都通过vpn进行.

其中windows平台下 pptp和l2tp  的设置,

1.在该站下载 chnroutes_ovpn_win 文件,对于已经安装有python的用户, 在命令行方式进入到下载到的文件所在目录, 执行python chnroutes_ovpn_win, 执行完毕之后同一目录下将生成'vpnup.bat', 'vpnup.vbs', 'vpndown.bat'和'vpndown.vbs'共四个文件. (如果你没有python, 可以直接下载项目下载页面上的pre_created_for_win.zip文件, 解开之后你将能得到预生成的上述4个文件)

但由于windows上的pptp不支持拨号脚本, 所以也只能在进行拨号之前手动执行vpnup.bat文件以设置路由表. 而在断开vpn之后, 如果你觉得有必要, 可以运行vpndown.bat把这些路由信息给清理掉.

备注:对于使用项目下载页面里的预生成的bat文件的用户, 这些预生成的文件将会不定期进行更新, 因为ipv4的范围的变化不会十分大, 所以路由信息文件应该不需要频繁更新. 另外, 有windows用户反映vbs文件并不能被正确调用, 这个大概是因为一些系统并没有建立到vbs文件的关联, 解决方法有2, 把.vbs文件的默认运行方式指定为C:WINDOWSsystem32wscript.exe (这里用wscript,不用cscript是防止出现那个黑色的console界面)

我个人的做法是保留原包的bat文件(也就是路由文件),vbs自己写如下:

pptp链接时 vpnup-pptpd.vbs

Sub   cRun

set   WshShell   =   CreateObject("Wscript.shell")

WshShell.Run   "vpnup.bat"

WScript.Sleep 15000

WshShell.Run   "rasphone.exe -d vps-pptpd"

End   Sub

Call   cRun

pptp断开时 vpndown-pptpd.vbs

Sub   cRun

set   WshShell   =   CreateObject("Wscript.shell")

WshShell.Run   "vpndown.bat"

WshShell.Run   "rasphone.exe -h vps-pptpd"

End   Sub

Call   cRun

l2tp链接时 vpnup-l2tpd.vbs

Sub   cRun

set   WshShell   =   CreateObject("Wscript.shell")

WshShell.Run   "vpnup.bat"

WScript.Sleep 15000

WshShell.Run   "rasphone.exe -d vps-l2tpd"

End   Sub

Call   cRun

l2tp断开时 vpndown-l2tpd.vbs

Sub   cRun

set   WshShell   =   CreateObject("Wscript.shell")

WshShell.Run   "vpndown.bat"

WshShell.Run   "rasphone.exe -h vps-l2tpd"

End   Sub

Call   cRun

注意,以上脚本中的 vps-pptpd 和 vps-l2tpd 正是vpn连接的名字,需要自行修改,在调试完成后,去掉选择 显示用户名和密码 那个勾,即可每次自动运行脚本时候就自动运行了。

分别进入 http://www.cz88.net/ 和 http://whatismyipaddress.com/ 这两个网站,将会看到两个不同的IP地址

Comments
没有留言 »
分类
心得分享
Tags
CentOS, l2tp, pptp, vpn
订阅RSS留言 订阅RSS留言
Trackback Trackback

linux VPS (CentOS)架设L2TPD VPN

| 3:53

先在 http://zeddicus.com/a-key-installation-package-l2tp?wpc=2#comments 这里下载 最新的 l2tp.sh 脚本

#!/bin/bash

if [ $(id -u) != "0" ]; then

printf "Error: You must be root to run this tool!n"

exit 1

fi

clear

printf "

####################################################

#                                                  #

# This is a Shell-Based tool of l2tp installation  #

# Version: 1.2                                     #

# Author: Zed Lau                                  #

# Website: http://zeddicus.com                     #

# For Ubuntu 32bit and 64bit                       #

#                                                  #

####################################################

"

vpsip=`ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`

iprange="10.0.99"

echo "Please input IP-Range:"

read -p "(Default Range: 10.0.99):" iprange

if [ "$iprange" = "" ]; then

iprange="10.0.99"

fi

mypsk="vpsyou.com"

echo "Please input PSK:"

read -p "(Default PSK: vpsyou.com):" mypsk

if [ "$mypsk" = "" ]; then

mypsk="vpsyou.com"

fi

clear

get_char()

{

SAVEDSTTY=`stty -g`

stty -echo

stty cbreak

dd if=/dev/tty bs=1 count=1 2> /dev/null

stty -raw

stty echo

stty $SAVEDSTTY

}

echo ""

echo "ServerIP:"

echo "$vpsip"

echo ""

echo "Server Local IP:"

echo "$iprange.1"

echo ""

echo "Client Remote IP Range:"

echo "$iprange.2-$iprange.254"

echo ""

echo "PSK:"

echo "$mypsk"

echo ""

echo "Press any key to start..."

char=`get_char`

clear

apt-get -y update

apt-get -y upgrade

apt-get -y install libgmp3-dev bison flex libpcap-dev ppp iptables make gcc lsof vim

mkdir /ztmp

mkdir /ztmp/l2tp

cd /ztmp/l2tp

wget http://www.openswan.org/download/openswan-2.6.24.tar.gz

tar zxvf openswan-2.6.24.tar.gz

cd openswan-2.6.24

make programs install

rm -rf /etc/ipsec.conf

touch /etc/ipsec.conf

cat >>/etc/ipsec.conf<<EOF

config setup

nat_traversal=yes

virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12

oe=off

protostack=netkey

conn L2TP-PSK-NAT

rightsubnet=vhost:%priv

also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT

authby=secret

pfs=no

auto=add

keyingtries=3

rekey=no

ikelifetime=8h

keylife=1h

type=transport

left=$vpsip

leftprotoport=17/1701

right=%any

rightprotoport=17/%any

EOF

cat >>/etc/ipsec.secrets<<EOF

$vpsip %any: PSK "$mypsk"

EOF

sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf

sed -i 's/#net.ipv6.conf.all.forwarding=1/net.ipv6.conf.all.forwarding=1/g' /etc/sysctl.conf

sysctl -p

iptables --table nat --append POSTROUTING --jump MASQUERADE

for each in /proc/sys/net/ipv4/conf/*

do

echo 0 > $each/accept_redirects

echo 0 > $each/send_redirects

done

/etc/init.d/ipsec restart

ipsec verify

cd /ztmp/l2tp

wget http://mirror.zeddicus.com/sources/rp-l2tp-0.4.tar.gz

tar zxvf rp-l2tp-0.4.tar.gz

cd rp-l2tp-0.4

./configure

make

cp handlers/l2tp-control /usr/local/sbin/

mkdir /var/run/xl2tpd/

ln -s /usr/local/sbin/l2tp-control /var/run/xl2tpd/l2tp-control

cd /ztmp/l2tp

wget http://mirror.zeddicus.com/sources/xl2tpd-1.2.4.tar.gz

tar zxvf xl2tpd-1.2.4.tar.gz

cd xl2tpd-1.2.4

make install

mkdir /etc/xl2tpd

rm -rf /etc/xl2tpd/xl2tpd.conf

touch /etc/xl2tpd/xl2tpd.conf

cat >>/etc/xl2tpd/xl2tpd.conf<<EOF

[global]

ipsec saref = yes

[lns default]

ip range = $iprange.2-$iprange.254

local ip = $iprange.1

refuse chap = yes

refuse pap = yes

require authentication = yes

ppp debug = yes

pppoptfile = /etc/ppp/options.xl2tpd

length bit = yes

EOF

rm -rf /etc/ppp/options.xl2tpd

touch /etc/ppp/options.xl2tpd

cat >>/etc/ppp/options.xl2tpd<<EOF

require-mschap-v2

ms-dns 8.8.8.8

ms-dns 8.8.4.4

asyncmap 0

auth

crtscts

lock

hide-password

modem

debug

name l2tpd

proxyarp

lcp-echo-interval 30

lcp-echo-failure 4

EOF

cat >>/etc/ppp/chap-secrets<<EOF

test l2tpd test123 *

EOF

touch /usr/bin/zl2tpset

echo "#/bin/bash" >>/usr/bin/zl2tpset

echo "for each in /proc/sys/net/ipv4/conf/*" >>/usr/bin/zl2tpset

echo "do" >>/usr/bin/zl2tpset

echo "echo 0 > $each/accept_redirects" >>/usr/bin/zl2tpset

echo "echo 0 > $each/send_redirects" >>/usr/bin/zl2tpset

echo "done" >>/usr/bin/zl2tpset

chmod +x /usr/bin/zl2tpset

iptables --table nat --append POSTROUTING --jump MASQUERADE

zl2tpset

xl2tpd

cat >>/etc/rc.local<<EOF

iptables --table nat --append POSTROUTING --jump MASQUERADE

/etc/init.d/ipsec restart

/usr/bin/zl2tpset

/usr/local/sbin/xl2tpd

EOF

clear

ipsec verify

printf "

####################################################

#                                                  #

# This is a Shell-Based tool of l2tp installation  #

# Version: 1.2                                     #

# Author: Zed Lau                                  #

# Website: http://zeddicus.com                     #

# For Ubuntu 32bit and 64bit                       #

#                                                  #

####################################################

if there are no [FAILED] above, then you can

connect to your L2TP VPN Server with the default

user/pass below:

ServerIP:$vpsip

username:test

password:test123

PSK:$mypsk

然后在xen的centos中,由于hostname -i 命令获取不到真正的ip,因此修改脚本里的该行,直接设置为服务器的ip地址即可。

设置后,修改 /etc/xl2tpd.conf 以及 /etc/ipsec.conf 等几个文件即可。客户端的设置,记得设置公共psk文件为上面的psk内容。

修改添加用户同 pptpd 的设置

Comments
1 条留言 »
分类
心得分享
Tags
CentOS, l2tp, vpn
订阅RSS留言 订阅RSS留言
Trackback Trackback

linux VPS (CentOS)架设PPTPD VPN

2011-05-30 | 23:42

首先,输入以下脚本 pptpd.sh

yum remove -y pptpd ppp
iptables --flush POSTROUTING --table nat
iptables --flush FORWARD
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp

wget http://www.diahosting.com/dload/dkms-2.0.17.5-1.noarch.rpm
wget http://www.diahosting.com/dload/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
wget http://www.diahosting.com/dload/pptpd-1.3.4-1.rhel5.1.i386.rpm
wget http://www.diahosting.com/dload/ppp-2.4.4-9.0.rhel5.i386.rpm

yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers
rpm -ivh dkms-2.0.17.5-1.noarch.rpm
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
rpm -qa kernel_ppp_mppe
rpm -Uvh ppp-2.4.4-9.0.rhel5.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm

mknod /dev/ppp c 108 0
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "mknod /dev/ppp c 108 0" >> /etc/rc.local
echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local
echo "localip 172.16.36.1" >> /etc/pptpd.conf
echo "remoteip 172.16.36.2-254" >> /etc/pptpd.conf
echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd
echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd

pass=`openssl rand 6 -base64`
if [ "$1" != "" ]
then pass=$1
fi

echo "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets

iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT --to-source `ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`
iptables -A FORWARD -p tcp --syn -s 172.16.36.0/24 -j TCPMSS --set-mss 1356
service iptables save

chkconfig iptables on
chkconfig pptpd on

service iptables start
service pptpd start

echo "VPN service is installed, your VPN username is vpn, VPN password is ${pass}"

安装完成后,大家要注意,最后一行是你的用户,密码,要记住。如果你需要添加用户,只要直接编辑/etc/ppp/chap-secrets文件,按照相同格式添加用户名和密码即可。

记得要修改一下 /etc/pptpd.conf 最后的 远程ip地址段。。。默认的有点儿问题

Comments
没有留言 »
分类
心得分享
Tags
CentOS, pptp, vpn
订阅RSS留言 订阅RSS留言
Trackback Trackback

在华为交换机上查询MAC地址与IP地址与相应端口对照表

2011-05-19 | 9:04

如何在华为交换机上查询MAC地址?可以用display mac,假如想查询某端口上的MAC地址可以用dis mac int port-number。

那如何在交换机上显示MAC与IP地址的对应关系呢?可以用dis arp命令。假如想知道某端口上的IP地址与MAC地址的对应关系,可以用display arp | include <包含字符> 这样的命令。

真不错,还支持管道符号。。。

Comments
没有留言 »
分类
心得分享
Tags
交换机, 华为
订阅RSS留言 订阅RSS留言
Trackback Trackback

SecureCRT中不同窗口顺序执行命令的脚本

2011-05-17 | 9:54

# $language = “VBScript”
# $interface = “1.0″

'脚本开始
Sub Main()
  
    '从左到右激活每一个已经连接上的会话,并输入相关命令
  
    '第一个连接的会话
    Set objCurrentTab1 = crt.GetTab(1)
    objCurrentTab1.Activate      
    If objCurrentTab1.Session.Connected = True then
       objCurrentTab1.Screen.Send “相关命令1″ & chr(13)
       objCurrentTab1.Screen.WaitForString “-> “
       objCurrentTab1.Screen.Send “相关命令2 ” & chr(13)
       objCurrentTab1.Screen.WaitForString “-> ”
       objCurrentTab1.Screen.Send “相关命令3 ” & chr(13)
       objCurrentTab1.Screen.WaitForString “-> ”
    End If
  
  
    '第二个连接的会话 
    Set objCurrentTab2 = crt.GetTab(2)
    objCurrentTab2.Activate      
    If objCurrentTab2.Session.Connected = True then
        objCurrentTab2.Screen.Send “相关命令1″ & chr(13)
       objCurrentTab2.Screen.WaitForString “-> “
       objCurrentTab2.Screen.Send “相关命令2 ” & chr(13)
       objCurrentTab2.Screen.WaitForString “-> “
       objCurrentTab2.Screen.Send “相关命令3″ & chr(13)
       objCurrentTab2.Screen.WaitForString “-> “
       objCurrentTab2.Screen.Send “相关命令4″ & chr(13)
    End if
  
'脚本结束
End Sub

Comments
没有留言 »
分类
心得分享
Tags
SecureCRT, ssh, 脚本
订阅RSS留言 订阅RSS留言
Trackback Trackback

数字化校园——修改dhcp为支持failover模式

2011-04-09 | 12:45

追加行(a)
函数参数 a 表示将资料添加到文件中。其指令格式如下:
sed [address1] a 使用者所输入的资料
对上述格式有下面几点说明:
函数参数 a 最多与一个位址参数配合,地址位可以使数字或查找条件,如果找不到对应的地址位的话就不进行追加,如果没有使用地址位的话就默认在每一行后都追加,包括空行。
函数参数 a 紧接着 "" 字元用来表示此行结束 , 使用者所输入的资料必须从下一行输入。如果资料超过一行 , 则须在 每行的结尾加入""。
sed 执行添加动作情况如下 : 当 pattern space 内资料输出後 , sed 跟着输出使用者所输入的资料。
例 :
题目: 添加 "多工作业系统" 在含 "UNIX" 字串的资料行后面。假设 input.dat 文件的内容如下 :
UNIX
说明: 用函数参数 a 将所输入的资料添加在含 "UNIX" 字串的资料行後。
sed 命令列如下 :
sed -e '/UNIX/a    #要追加的行的内容一定要写在下一行
多工作业系统 ' input.dat
执行上述命令後 , 其输出结果如下 :
UNIX
多工作业系统
如果是追加多行的话,命令如下:
sed -e '/UNIX/a
多工作业系统
追加的第二行的内容' input.dat

替换行(c)
函数参数 c 表示改变文件中的资料。其格式如下:
sed [address1[ ,address2]]c 使用者所输入的资料
对上述格式有下面几点说明:
函数参数 c 最多与两个位址参数配合,地址位可以使数字表示,如1,5c,也可以使/abc/,/hgj/c,,同时也可以混合的使用,当然也可以使用一个地址位。如果是输入的两位地址中第一位有效,而第2位有效,则把从第一位开始之后的行都进行替换,反之则不进行替换;也就是说会先判断第一位是否有效,有效的话就开始查找第二位,第二位找不到就默认是文件结尾。如果没有地址位,则全部行都被替换。
函数参数 c 紧接着 "" 字元用来表示此行结束 , 使用者所输入的资料必须从下一行输入。如果资料超过一行 , 则须在 每行的结尾加入""。
sed 执行改变动作的情况 : 在 pattern space 内资料输出时 , sed 改变它成为使用者所输入的资料。

其命令列如下
sed -e '5c    #这里开始要替换的内容就要换行写
Those must often wipe a bloody nose. ' input.dat
例三. 将文件中 1 至 100 行的资料区 , 替换成如下两行资料 :
How are you?
data be deleted!
则其命令列如下
sed -e '1,100c
How are you?
data be deleted! ' input.dat

Comments
没有留言 »
分类
心得分享
订阅RSS留言 订阅RSS留言
Trackback Trackback

数字化校园——关于部分联想服务器断电后启动不能的情形

2011-03-25 | 10:02

    如题,遇到了部分电信提供的联想万全服务器,在机房掉电后,来电不自己启动的问题,后来发现在倒数第二项的South南桥设置里 有三个选项,Full - On和Memory和Soft - Off,设置为Full - On,断电再加电测试成功。

Comments
没有留言 »
分类
心得分享
Tags
服务器, 电源
订阅RSS留言 订阅RSS留言
Trackback Trackback

页数:  1 2 3 4 5 6 7 8 9 10 >

ABOUT ME


网 名: 天缘(skylove)












RSS邮天下订阅  文章 留言

最新日志

  • SecureCRT同时向多个session发送相同命令的方法
  • cacti常见问题解决办法【转载】
  • 一位IT同行的日志
  • 办公网常见的安全问题及华为交换机上的配置说明
  • cm7里adroid市场可浏览而无法下载的解决方法
  • Cisco设备光模块解密方法
  • 如何快速创建 Xen 虚拟机镜像
  • 伪技术人员的成长历程之70-Xen虚拟机下添加Swap磁盘
  • CentOS5.3下xen虚拟机的配置笔记
  • xen虚拟机管理xm的用法

分类

  • android (4)
  • 休闲娱乐 (22)
  • 妙文转载 (9)
  • 学习摄影 (10)
  • 心得分享 (97)
  • 心情随笔 (69)
  • 流水杂记 (42)
  • 艺海无涯 (71)
  • 过失教训 (5)

过去的日记

最新评论

  • Remote Energy Monitor: Check out this gibberish... Do you really believ...
  • 视频聊天室: 双击执行它...
  • 达人秀: 看个热闹吧.....
  • SecureCRT同时向多个session发送相同命令的方法 | 我友博客: [...] 通过行至水穷处,坐看云起时 » ...
  • East Fife Self Catering: Can I buy a vowel... I have not any idea about t...
  • iqzlnhyyia: sentttlzmpwf, qysvbuvwx...
  • outdoor lighting manufacturers canada: 我不得不承认,我通常会觉得无聊,...
  • Josie: Well done article that. I'll make sure to use it ...
  • Dsestbredo: buy bulk facebook fans buy cheap facebook fans ...
  • BlalselepNews: A hires the cialis generico in a cialis. Hovered ...

标签云

乐山 书 分手 升级 图片 安全 感情 手机 摄影 朋友 桌面 歌曲 照片 爱情 硬盘 网站 网络 脚本 虚拟化 软件 2008 apache asp blog blogger cisco CU dns flash google linux mp3 MSN nat photo php QQ script shell tor unix vb web windows xml

我的相册

武隆的图片

技术站点

  • Google站点统计
  • 网站检测
  • 高亮代码(.Net)
  • 高亮代码生成(PHP)

朋友们的站

  • GNAH‘s Not Another Programmer!
  • kiki on the way
  • NetKiller的主页
  • 哇靠~又写起了博客
  • 许敬刚老师的博达软件平台
  • 远方的远方

功能

  • 注册
  • 登录
  • 日志 RSS
  • 评论 RSS
  • WordPress.org
rss 订阅RSS留言 valid xhtml 1.1 design by jide powered by Wordpress get firefox