行至水穷处,坐看云起时

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

在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

ssh连接慢的解决方法

2011-05-17 | 10:50

做 Web 开发的工作经常需要 ssh 或者 scp 连接一堆远程主机,同样是 Linux 主机,其中一些创建 ssh 连接速度特别慢,连接建立之后执行操作速度却很正常,看来应该不是网络原因。

Google 了一下,http://www.beowulf.org/archive/2002-August/007894.html 这位老兄也遇到类似的问题,看完他描述的问题才知道可以用 ssh -v 来查看详细的连接建立过程,马上用一台建立连接很慢的主机试了一下,在一大堆输出信息中发现在这里停留最久:

debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure. Minor code may provide more information

debug1: Next authentication method: publickey
原来是因为尝试了个没有意义而且会失败的 gssapi-with-mic 认证方式浪费了时间,打开 /etc/ssh/ssh_config 把里面的 GSSAPIAuthentication yes 改成 no 关掉它,即可让 ssh 直接尝试美妙的 publickey 认证方式。

Comments
没有留言 »
分类
艺海无涯
Tags
ssh
订阅RSS留言 订阅RSS留言
Trackback Trackback

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

| 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

在win平台下安装设置cygwin

2011-05-16 | 9:56

windows和linux各有其优越性,可以安装在同一台电脑上,装双系统要重启转换麻烦,安装虚拟机也需要配置很多东西。cygwin,它可以让你在win下拥有linux开发环境,并且不用切换。cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。机理
cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。然后,他们要把这些工具移植到windows平台上去。一种方案是基于win32 api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwin dll),把win32 api中没有的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,他们基于win32 api写了一个unix系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在windows平台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。

安装

首先到http://www.cygwin.com下载setup.exe,接着建立安装目录,如X:cygwin,将setup.exe放到此目录,

BEGIN-> 点击setup.exe,Next->选Install from Internet,Next->填写Root Directory,如X:cygwin,Next->填写Local Package Directory,如X:cygwinftp,Next->

选Direct Connection,Next->

选一个较快的ftp,Next->

到了关键步骤,如果仅想安装基本系统,直接Next;如果想完全安装,点击 All旁边的旋转状图标,将Default切换至Install;如果和我一 样,仅想在命令行下写写程序,则只要将 gcc、make等开发工具选上,还有openssh等;选好后,Next->

开始下载,Take a coffee break。回来后,Next->

选择需不需要创建快捷方式。->END

附教育网下如何下载和安装cygwin http://blog.chinaunix.net/u1/39359/showart_306196.html
点击快捷方式或X:cygwincygwin.bat打开控制台,如果是域用户,按照提示makepasswd和makegroup即可。

环境变量

开始运行bash之前,应该设置一些环境变量。cygwin提供了一个.bat文件,里面已经设置好了最重要的环境变量。通过它来启动bash是最安全的办法。这个.bat文件安装在cygwin所在的根目录下。可以随意编辑该文件。
CYGWIN变量用来针对cygwin运行时系统进行多种全局设置。开始时,可以不设置CYGWIN或者在执行bash前用类似下面的格式在dos框下把它设为tty
C:> set CYGWIN=tty notitle glob

PATH变量被cygwin应用程序作为搜索可知性文件的路径列表。当一个cygwin进程启动时,该变量被从windows格式(e.g. C:WinNTsystem32;C:WinNT)转换成unix格式(e.g., /WinNT/system32:/WinNT)。如果想在不运行bash的时候也能够使用cygwin工具集,PATH起码应该包含x:cygwinbin,其中x:cygwin 是你的系统中的cygwin目录。
HOME变量用来指定主目录,推荐在执行bash前定义该变量。当cygwin进程启动时,该变量也被从windows格式转换成unix格式,例如,作者的机器上HOME的值为C:(dos命令set HOME就可以看到他的值,set HOME=XXX可以进行设置),在bash中用echo $HOME看,其值为/cygdrive/c.
TERM变量指定终端型态。如果美对它进行设置,它将自动设为cygwin。
LD_LIBRARY_PATH被cygwin函数dlopen()作为搜索.dll文件的路径列表,该变量也被从windows格式转换成unix格式。多数Cygwin应用程序不使用dlopen,因而不需要该变量。

改变cygwin的最大存储容量
Cygwin程序缺省可以分配的内存不超过384 MB(program+data)。多数情况下不需要修改这个限制。然而,如果需要更多实际或虚拟内存,应该修改注册表的HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER区段。田家一个DWORD键heap_chunk_in_mb并把它的值设为需要的内存限制,单位是十进制MB。也可以用cygwin中的regtool完成该设置。例子如下:

regtool -i set /HKLM/Software/Cygnus Solutions/Cygwin/heap_chunk_in_mb 1024
regtool -v list /HKLM/Software/Cygnus Solutions/Cygwin

新版本是 /HKLM/Software/Cygwin

使用

映射路径名
cygwin同时支持win32和posix风格的路径,路径分隔符可以是正斜杠也可以是反斜杠。还支持UNC路径名。(在网络中,UNC是一种确定文件位置的方法,使用这种方法用户可以不关心存储设备的物理位置,方便了用户使用。在Windows操作系统,Novell Netware和其它操作系统中,都已经使用了这种规范以取代本地命名系统。在UNC中,我们不用关心文件在什么盘(或卷)上,不用关心这个盘(或卷)所在服务器在什么地方。我们只要以下面格式就可以访问文件:
服务器名共享名路径文件名
共享名有时也被称为文件所在卷或存储设备的逻辑标识,但使用它的目的是让用户不必关心这些卷或存储设备所在的物理位置。)
符合posix标准的操作系统(如linux)没有盘符的概念。所有的绝对路径都以一个斜杠开始,而不是盘符(如c:)。所有的文件系统都是其中的子目录。例如,两个硬盘,其中之一为根,另一个可能是在/disk2路径下。
因为许多unix系统上的程序假定存在单一的posix文件系统结构,所以cygwin专门维护了一个针对win32文件系统的内部posix视图,使这些程序可以在windows下正确运行。在某些必要的情况下,cygwin会使用这种映射来进行win32和posix路径之间的转换。
cygwin mount表
cygwin中的mount程序用来把win32盘符和网络共享路径映射到cygwin的内部posix目录树。这是与典型unix mount程序相似的概念。对于那些对unix不熟悉而具有windows背景的的人来说,mount程序和早期的dos命令join非常相似,就是把一个盘符作为其他路径的子目录。
路径映射信息存放在当前用户的cygwin mount表中,这个mount table 又在windows的注册表中。这样,当该用户下一次登录进来时,这些信息又从注册表中取出。mount 表分为两种,除了每个用户特定的表,还有系统范围的mount表,每个cygwin用户的安装表都继承自系统表。系统表只能由拥有合适权限的用户(windows nt的管理员)修改。
当前用户的mount表可以在注册表"HKEY_CURRENT_USER/Software/Red Hat, Inc./Cygwin/mounts v" 下看到。系统表存在HKEY_LOCAL_MACHINE下。
posix根路径/缺省指向系统分区,但是可以使用mount命令重新指向到windows文件系统中的任何路径。cygwin从win32路径生成posix路径时,总是使用mount表中最长的前缀。例如如果c:被同时安装在/c和/,cygwin将把C:/foo/bar转换成/c/foo/bar.
如果不加任何参数地调用mount命令,会把Cygwin当前安装点集合全部列出。在下面的例子中,c盘是POSIX根,而d盘被映射到/d。本例中,根是一个系统范围的安装点,它对所有用户都是可见的,而/d仅对当前用户可见。
c:> mount
f:cygwinbin on /usr/bin type system (binmode)
f:cygwinlib on /usr/lib type system (binmode)
f:cygwin on / type system (binmode)
e:src on /usr/src type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
e: on /cygdrive/e type user (binmode,noumount)
还可以使用mount命令增加新的安装点,用umount删除安装点。
当Cygwin不能根据已有的安装点把某个win32路径转化为posix路径时,cygwin会自动把它转化到一个处于缺省posix路径/cygdrive下的的一个安装点. 例如,如果Cygwin 访问Z:foo,而Z盘当前不在安装表内,那么Z:将被自动转化成/cygdrive/Z.
可以给每个安装点赋予特殊的属性。自动安装的分区显示为“auto”安装。安装点还可以选择是"textmode"还是 "binmode",这个属性决定了文本文件和二进制文件是否按同样的方式处理。
其他路径相关信息
cygpath工具提供了在shell脚本中进行win32-posix路径格式转换的能力。
HOME, PATH,和LD_LIBRARY_PATH环境变量会在cygwin进程启动时自动被从Win32格式转换成了POSIX格式(例如,如果存在从该win32路径到posix路径的安装,会把c:cygwinbin转为/bin)。

ssh的安装

cygwin自带的控制台可调参数很少,舒适度较低。有没有办法用熟悉的PuTTY或SecureCRT来操控cygwin呢?办法有二:

1、用PuTTYcyg。地址是http://gecko.gc.maricopa.edu/~medgar/puttycyg/。用法很简单,在配置对话框中,host name填 - 即可。Cygwin Bash Shell能做的,PuTTYcyg基本上都能实现,本地操作的话,极力推荐这款好软件。

a.在配置对话框中,选Cygterm,在host name填 - 即可

b. 选项 window-Apperance里选 新宋体 10-point

c.选项 window-Translation里选UTF-8

d.选项 Terminal-Keyboard 里选 Linux

e.选项 Session里,选save

2、安装sshd,本机登陆。如果忘了安装OpenSSH,点击setup.exe,选上OpenSSH,再装一次即可。如果已安装,按照下面的操作继续:

a、右键“我的电脑”->属性->高级->环境变量,在系统环境变量里添加变量CYGWIN,值为netsec tty,然后在Path里追加X:cygwinbinb、打开cygwin控制台,输入ssh-host-config,一路yes,提示 CYGWIN值时,输入netsec ttyc、启动sshd服务用: net start sshd 或 cygrunsrv –start sshd; 停止sshd服务用:net stop sshd 或 cygrunsrv –stop sshdd、用ssh yourname@127.0.0.1 或 ssh localhost登陆

e、还可以继续安装配置sftp、scp等,详细参考: How to install OpenSSH sshd server and sftp server

f、每次输入密码登陆太麻烦,可以用key验证: 用puttygen.exe生存密钥对,在~/下,建立.ssh目录,创建authorized_keys2文件,将公钥复制到这个文件,然后在 putty里指定私钥登陆,一劳永逸。

vim的简单配置

将usrsharevimvim64目录下的vimrc_example.vim复制到~/,重命名为_vimrc, 按照自己的喜好修改里面的配置即可,如打开高亮,选择喜欢的colorscheme

cygwin的中文显示和输入

让bash命令行支持中文输入,vi ~/.inputrc,将下面几行的注释去掉:

set meta-flag on
set convert-meta off
set input-meta on
set output-meta on

让ls命令支持中文显示,vi ~.bashrc中,修改:
alias ls=’ls -hF –show-control-chars –color=tty’

我用的是

alias ls=’ls -h –show-control-chars –color=auto’

vim64的话,已经支持中文输入。

sdcv的安装配置

坐在电脑前久了,屏幕太亮,辐射大,对身体不好。能不能在全黑的命名行模式下工作和学习呢?putty可以很好的全屏幕显示,sdcv则可以让你在命令行模式查找单词。

Comments
没有留言 »
分类
艺海无涯
Tags
cygwin, 平台
订阅RSS留言 订阅RSS留言
Trackback Trackback

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