http://qiaodahai.com/
Posts tagged IPv6
CentOS搭建LAMP详细教程
Aug 23rd
第一部分:
LAMP 是Linux、Apache、MySQL、PHP的首字母缩写,也就是在一台Linux服务器上安装带有PHP和Mysql支持的Apache网站服务器。
1. 说明
本文以BurstNET VPS主机为例,操作系统是CentOS5.5,独立服务器操作方法与VPS相同。域名请做好DNS指向。
2. 安装 Apache2
Apache2 已经包含在 CentOS 软件包中了,一般来说,系统已经默认安装完毕。如果没有,你可以使用下面的命令轻松安装它:
yum install httpd
系统会提示已需要安装的版本并自动安装,如有更新,系统会显示需要更新的版本。
如已经安装完毕将显示下述信息:
Package httpd-2.2.3-22.el5.centos.2.i386 already installed and latest version
Nothing to do
安装 Apache 后,你可以启动:
/etc/init.d/httpd start
可以查看运行状态:
/etc/init.d/httpd status
现在可以在浏览器中打开 http://domain.com(你的域名) 或 http://ip地址(VPS的IP地址),就可以看到 Apache 2 Test Page 页面。
如果是本地服务器,现在可以在浏览器中打开 http://localhost 或 http://127.0.0.1 ,看到 Apache 2 Test Page 页面。
修改配置文件:
vi /etc/httpd/conf/httpd.conf
可以修改侦听端口 80 -> 8080 :
#Listen 12.34.56.78:80
Listen 8080
你可以重启动服务:
/etc/init.d/httpd restart
接着继续再了解一下 apache2 这个版本的结构,这有助于我们配置应用:
/etc/httpd/conf/httpd.conf :最主要的配置文件;
/etc/httpd/conf.d/*.conf :这个是 CentOS 的特色,如果你不想修改原始配置文件 httpd.conf 的话,其他配置的在此独立配置,启动 apache 时,这个文件就会被读入到主要配置文件;
/usr/lib/httpd/modules :apache 支持很多的模块,您想要使用的模块默认都放置在此目录;
/var/www/html :这里是 CentOS 默认的“首页”目录;
/var/www/error :默认的系统错误信息,主机设置错误或浏览器端要求的数据错误,在浏览器上出现的错误提示就以这里的信息为主;
/var/www/icons :提供 apache 的一些小图标;
/var/www/cgi-bin :默认一些可执行的 CGI 程序放置的目录;
/var/log/httpd :日志文件目录,这里的文件很容易变的很大,需要提供足够的空间;
/usr/sbin/apachectl :这是 Apache 的主要执行文件,这个执行文件其实是 shell script ,它可以主动检测系统上的一些设置值,好让您启动 Apache 时更简单;
/usr/sbin/httpd :这是主要的 apache 的二进制文件;
/usr/bin/htpasswd :当您想登陆某些网页时,需要输入账号与密码。那么Apache本身就提供一个最基本的密码保护方式,该密码的产生就是通过这个命令实现的。
3. 安装 MySQL5
执行下面的命令来安装 MySQL:
yum install mysql mysql-server
然后启动 MySQL 服务器:
/etc/init.d/mysqld start
运行下面的命令来为 root 用户设置一个密码(否则的话任何人都可以访问你的MySQL数据库!):
mysqladmin -u root -p password 12345678
Enter password: 输入root密码以确认修改,一般root初始密码为空(上面的12345678为你想要的密码)
重新正常启动 MySQL:
/etc/init.d/mysqld stop
/etc/init.d/mysqld start
MySQL 有几个重要目录与文件:
/etc/my.cnf :这是Mysql的配置文件,包括 mysql 数据库的优化;
/usr/lib/mysql :这个目录是 MySQL 数据库放置的位置,务必在备份时将此目录完整的备份下来。
4. 安装 PHP5
使用下列命令来安装 PHP5 和 Apache 的 PHP5 模块:
yum install php
然后重新启动 Apache :
/etc/init.d/httpd restart
这个安装比较简单,完成后可以测试一下。Apache 网站的默认文档的路径是 /var/www/html ,在这个目录里上传一个PHP探针,并且在浏览器中调用 http://localhost/env.php 将会显示很多 PHP5 的安装信息。
PHP5 正在工作,你会看到很多模块都可以在 PHP5 中使用了,而 MySQL 并没有在这里被列出来,这意味着 PHP5 并不支持MySQL,你还需要安装 php-mysql 这个包。
5. 安装PHP组件,使 PHP5 支持 MySQL
yum search php
选择你所需的安装包,然后通过下列命令安装他们:
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash
检查系统更新,然后安装更新,最后清理安装包。
yum check-update
yum update
yum clean all
如果需要,可以编辑php.ini,一般不用改动
vi /etc/php.ini
CentOS的PHP版本为5.1.x,如果需要安装5.2.x,需要增加一个官方的测试源即可。具体步骤如下:
vi /etc/yum.repos.d/CentOS-Testing.repo
在vi编辑器里面,将下面这段文本粘贴进去:
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
priority=1
输入:wq保存退出vi。
然后在终端下执行:
如果已安装php,执行下面命令
yum update php
如果未安装php,执行下面命令
yum install php
这样PHP 5.2就装好了。
然后重新启动 Apache2 :
/etc/init.d/httpd restart
在浏览器中重新加载 http://localhost/env.php 这个页面,你就能看到刚刚安装的 PHP和MySQL 模块。
6. 设置 Apache2 和 MySQL 开机启动
chkconfig --levels 3 httpd on
chkconfig --list httpd
/etc/init.d/httpd restart
chkconfig --levels 3 mysqld on
chkconfig --list mysqld
/etc/init.d/mysqld restart
注意:“设置 Apache 和 MySQL 开机启动”这一步一定要做,否则是访问不了你的网站的。
OK,一个 LAMP 服务器搭建完成。
第二部分:
1.安装phpMyAdmin
如果已经将PHP更新到5.2.x,可以自行安装phpMyAdmin最新版3.x。
如果没有更新PHP的版本,由于 yum install php安装的版本为php5.1版,而phpMyAdmin-3.x只能搭配php5.2.x 使用,所以不要上传phpMyAdmin-3.x版,而应该上传较低的版本:phpMyAdmin-2.11.10版或phpMyAdmin- 2.11.9.6版,这两个较低版本的phpMyAdmin才能搭配php5.1使用。建议用如下办法:
phpMyAdmin是一款MySQL数据库web化的管理工具。
我们先使我们的CentOS支持RPMforge repository,因为phpMyAdmin并不在CentOS5.3官方的依赖包里:
对于 x86_64 系统:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
对于 i386系统
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
现在你就可以使用下列命令来安装phpMyAdmin了:
yum install phpmyadmin
现在我们配置下phpMyAdmin。我们改下Apache的配置文件,使的phpMyAdmin不单单是本机访问。 (即注销<Directory “/usr/share/phpmyadmin”>) 如下所示:
#<Directory “/usr/share/phpmyadmin”>
# Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1
#</Directory>
vi /etc/httpd/conf.d/phpmyadmin.conf
然后登陆winscp,进入/usr/share/phpmyadmin/,然后修改里面的配置文件:config.inc.php。
在$cfg['blowfish_secret'] = ‘ ‘,单引号里面随便填一个字符串。
在$cfg['Servers'][$i]['controluser'] = ”,单引号里面填入root;
在$cfg['Servers'][$i]['controlpass'] = ”,单引号里面填入你在安装mysql时所设置的密码。然后保存更改。
重启Apache:
/etc/init.d/httpd restart
然后,你就可以通过http://domain.com/phpmyadmin/:访问phpMyAdmin了。
2.使用putty登陆SSH
这是给网站根目录赋予写权限
chown root:root /var/www/html/ -R
或者
chmod -R 777 /var/www/html/
安装zip文件解压工具
yum install unzip
3.在Apache配置文件中添加你的虚拟机信息
vi /etc/httpd/conf/httpd.conf
此为IPv4虚拟机配置,已包含rewrite信息,支持WordPress固定链接
<VirtualHost 67.123.122.21:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html
ServerName www.abc.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
<Directory “/var/www/html”>
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.html index.htm index.php
AllowOverride all
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
此为IPv6虚拟机配置,已包含rewrite信息
<VirtualHost [2201:f676:2:382:0:123:1661:2]:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html
ServerName www.abc.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
<Directory “/var/www/html”>
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.html index.htm index.php
AllowOverride all
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
确认Apache工作在Dual Stack模式:
netstat -tulpn | grep :80
提醒一下,本教程未提及FTP服务的安装,如果需要可以安装vsftpd或pureftpd,过程不再赘述。因为我自己觉得使用WinSCP的SFTP就够用了,没有必要安装过多的服务消耗系统资源。
Hurricane Electric IPv4 Exhaustion Counters
Aug 20th
这是美国的Hurricane Electric公司提供的IPv4地址用尽的日期倒计时器:
http://ipv6.he.net/statistics/
当然这只是估算值,实际的IPv4消耗速度我们并不得知。有人说因为未分配的IPv4地址所剩不多,所以在以后的分配时会更严格,这样一来会延缓IPv4地址的消耗速度,或许IPv4地址还能再使用很长时间;也有人说随着日新月异的科技发展,连接互联网的终端设备增多,IPv4地址消耗的速度会越来越快,估计在1年内用尽。
不用去争议IPv4地址还能用多长时间,这没有意义,IPv6取代IPv4是历史的必然。我们站长需要做的就是迎合潮流,未雨绸缪,做好迎接IPv6的准备,让你的服务器硬件和web应用软件都IPv6 Ready,当IPv6真正来临的时候尽可泰然自若,一切尽在掌握。
VPS管理入门(二)
Aug 15th
使用CentOS+Kloxo来管理虚拟主机比较简单,易于上手,缺点是系统资源消耗大。
目前流行的配置是Linux+Nginx+PHP+MySQL,简称LNMP。下面简单介绍一下配置方法。
一、安装CentOS和LNMP包。
安装CentOS 5.5,系统安装完后自带APACHE,先运行yum remove httpd,删除Apache!
用SSH登录LINUX,安装LNMP。
1、下载LNMP一键安装包:
wget -c http://soft.vpser.net/lnmp/lnmp0.4.tar.gz
2、解压LNMP一键安装包:
tar zxvf lnmp0.4.tar.gz
3、CentOS下安装步骤
# 下载版执行命令 cd lnmp0.4/
# 然后再执行./centos.sh ,输入要绑定的域名,回车,再输入要设置的MySQL root的密码,再次回车确认。
程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。
虚拟主机管理
# 1、添加虚拟主机,执行如下命令:./vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开。再输入域名绑定的目录(绝对目录, 如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名),再选择是否添加伪静态规则,默认已经有了 Discuz、Wordpress、Sablog、emlog、dabr,可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名 字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回 车就会自动添加虚拟主机。
# LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
phpinfo : http://前面输入的域名或IP/phpinfo.php
phpMyAdmin : http://前面输入的域名或IP/phpmyadmin/
探针 : http://前面输入的域名或IP/p.php
MySQL root密码:如果不输入直接回车为root,否则为你输入的密码。
LNMP相关目录:
mysql : /usr/local/mysql
php : /usr/local/php
nginx : /usr/local/nginx
网站目录: /home/wwwroot
*添加虚拟主机域名也可以手动配置:
键入命令:vi /usr/local/nginx/conf/nginx.conf
或者:vi /usr/local/nginx/conf/vhost/*.conf
添加如下代码:
server
{
listen 80;
server_name www.***.com ***.com *.***.com;
index index.html index.htm index.php;
root /home/wwwroot/***;
location ~ .*\.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log off;
}
***改成你的域名就行,再建虚拟主机只要在下面添加 同样的代码就行;
再执行kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
或者/usr/local/nginx/sbin/nginx -s reload
之后虚拟机就生效了。
二、更新Nginx并重新编译Nginx使之支持IPv6(如果不需要IPv6支持,此部分可忽略)
登陆SSH,命令如下,最关键的一句是“–with-ipv6”:
wget http://nginx.org/download/nginx-0.8.49.tar.gz
tar -xvzf nginx-0.8.49.tar.gz
cd nginx-0.8.49
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6
make && make install
在终端执行ifconfig,可以看到你的IPv6地址。
把你虚拟机配置文件中listen 80;全部替换为listen ip:80;的形式,否则启动不了。再在你想支持IPv6的虚拟机里加一句listen [ipv6]:80,配置好之后,大体如下所示:
server {
listen 216.45.55.20:80;
listen [2001:470:1f04:873::2]:80;
server_name www.abc.com;
………………
}
安装配置完毕。停掉旧nginx,启动新编译的nginx:
killall nginx
/usr/local/nginx/sbin/nginx
三、安装vsftpd
1.yum安装vsftpd:
yum install vsftpd
touch /var/log/vsftpd.log # 创建vsftp的日志文件
2.设置每次开机时自动运行及手工启动它:
chkconfig vsftpd on
service vsftpd start
netstat -tl 可以查看ftp端口是否在侦听了!
3.配置文件
/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list,#不能登陆FTP的用户;
/etc/vsftpd/vsftpd.conf
#anonymous_enable=YES
anonymous_enable=NO #设定不允许匿名用户访问
chroot_local_user=YES #把系统内所有的FTP用户都限制在家目录中 xferlog_file=/var/log/vsftpd.log 设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来
ascii_upload_enable=YES
ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能。
pam_service_name=vsftpd PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
以下这些是关于Vsftpd虚拟用户支持的重要配置项目。默认vsftpd.conf中不包含这些设定项目,需要自己手动添加配置。
4.设定FTP目录
修改 /home/wwwroot 目录属性:
chmod -R 777 /home/wwwroot 递归地给此目录下所有文件和子目录的读、写、执行权限
chgrp -R ftp /home/wwwroot 递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组
5.增加FTP用户
adduser -d /home/wwwroot -g ftp -s /sbin/nologin 用户名 #增加用户,组是FTP,目录是/home/wwwroot
passwd 用户名 #设定用户密码
Changing password for user beinan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
6.重启FTP
service vsftpd restart
guest_enable=YES 设定启用虚拟用户功能。
guest_username=ftp 指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
user_config_dir=/etc/vsftpd/vuser_conf 设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性的配置文件(配置文件名=虚拟用户名)
7.有时会出现上传多个小文件时卡住的情况,可以编辑/etc/vsftpd/vsftpd.conf如下:
connect_from_port_20=YES
pasv_min_port=49152
pasv_max_port=65534
data_connection_timeout=1
或者将文件打包上传到服务端再解压来解决此问题。
8.修改已有用户的FTP目录
usermod -d /home/www/abc.com abc
注: /home/www/abc.com 为修改的目标文件夹 abc 为要修改目录的用户名
9.vsftpd的默认设置是所有目录都可以被客户进入,极为不安全,因此要限制用户可以访问目录,设置方法如下:
chroot_local_user=YES
在vsftpd.conf最下面增加这一行,重启ftp即可
Linux系统常用命令
1.将tar.gz压缩文件在当前目录下解压缩
命令:tar zxvf filename.tar.gz
2.在CentOS中安装unzip
命令:yum install unzip
将zip压缩文件在当前目录下解压缩
命令:unzip filename.zip
3.建立目录命令为mkdir 目录名字
mkdir /home/wwwroot/abc.com
4.删除目录命令为 rm -rf 目录名字
rm -rf /home/wwwroot/abc.com
两个参数-rf 即:
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
删除文件使用 rm -f 文件名字
Nginx和Apache WEB服务器的IPv6设置
Aug 14th
第一部分:
1、必须要有分配的公有IPv6地址。如果使用的是BurstNET VPS,可以发ticket到BurstNET客服免费申请IPv6地址。
2、进入域名管理面板添加AAAA记录指向你的IPv6地址。
第二部分:
1、Nginx IPv6 Configuration
重新编译Nginx使之支持IPv6。登陆SSH,命令如下,最关键的一句是“–with-ipv6”:
wget http://nginx.org/download/nginx-0.8.49.tar.gz
tar -xvzf nginx-0.8.49.tar.gz
cd nginx-0.8.49
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6
make && make install
在终端执行ifconfig,可以看到你的IPv6地址。
把你虚拟机配置文件中listen 80;全部替换为listen ip:80;的形式,否则启动不了。再在你想支持IPv6的虚拟机里加一句listen [ipv6]:80,配置好之后,大体如下所示:
server {
listen 216.45.55.20:80;
listen [2001:470:1f04:873::2]:80;
server_name www.abc.com;
………………
}
安装配置完毕。停掉旧nginx,启动新编译的nginx:
killall nginx
/usr/local/nginx/sbin/nginx
2、Apache IPv6 Configuration
a.打开配置文件
# vi httpd.conf
b.找到如下代码
Listen 74.86.48.99:80
c.添加以下代码
Listen [2607:f0d0:1002:11::4]:80
d.重新启动Apache
# service httpd restart
注意事项:
1、将代码中的IPv4和IPv6地址改为真实的IP地址,而且IPV6地址外一定要用中括号。
2、Apache 2.0版本开始支持IPv6,Nginx从0.7.36之后开始支持IPv6。
同时支持IPv6和IPv4的主机商He.net
Jun 6th
在网上看到很多人在找支持IPv6的虚拟主机,但似乎很难找。我这里推荐一家主机商Hurricane Electric(he.net),他们的主机同时支持支持IPv6和IPv4,而且国内访问速度很快,强力推荐。
Hurricane Electric.(he.net)是美国老牌IDC(互联网数据中心),成立于1994年,公司位于美国加州弗里蒙特(760 Mission Court Fremont, CA 94539),HE拥有世界上最大的IPv6骨干网,在世界各地都有提供IPv6 Tunnel Broker的服务。网上正在热传的可使VPS支持IPv6的方法正是使用HE公司提供的免费IPv6 Tunnel Broker服务。
Hurricane Electric提供独立服务器和虚拟主机等服务,无论价格高低,均同时支持IPv6和IPv4,可能是公司的主要客户面向公司,个人用户很少,he.net很低调,而且不同于其他的IDC,在他们的网站上没有常见的注册、购物车等选项,没有在网站上标明独立服务器的价格,够买需要发邮件(Email)或者打电话联系他们详谈(Or call and email for dedicated server details: +1 510.580.4190 sales@he.net)。
他们的虚拟主机(Web Hosting)最便宜的Simple Virtual Host仅1美元/月,但不支持MySQL数据库和PHP等脚本语言。适合我们站长使用的是Starter Virtual Host或更高规格的虚拟主机,其中Starter Virtual Host价格为9.95元/月(5GB空间,流量500GB/月,支持MySQL数据库和Perl、Python、Ruby、PHP5等脚本语言,支持SSL证书,同时支持IPv6和IPv4,支持SSH远程管理),但仅支持信用卡(VISA、MasterCard、American Express)购买,不支持PayPal和其他第三方支付工具。
Hurricane Electric.网址:https://www.he.net/
为什么需要支持IPv6的主机,有什么用呢?很多人都会由此疑问。哈哈,好处太多,我只简单的说两点。从长远来看,IPv6是互联网发展的必然趋势,未雨绸缪,先下手为强;从当前看,是为了广大教育网用户可以正常访问你的网站,因为教育网到外网的出口不大,访问速度很慢,而且有限制,但各大高校早就开通IPv6网络,可以高速方便的访问全球任一支持IPv6的网站。
如何测试你的电脑配置IPv6是否成功?
Jun 5th
通过各种方法配置IPv6后如何才能知道是否成功?网上的方法很多,最简单的就是访问一个IPv6并显示出自己当前的IP地址,就可以知道成功与否。
一、访问http://www.ipv6.org/,如果出现 Welcome to the IPv6 Information Page! You are using IPv6 from 240c:2:100:fdc9::1 的文字就表示你已经拥有一个IPv6地址(如240c:2:100:fdc9::1),可以访问IPv6网站。
二、访问http://www.ipv6forum.org/test_ipv6.php,如果出现 Congratulations! You are connected with IPv6! The IPv6 Globe is spinning for you. Your IPv6 address is: 240c:2:100:fdc9::1的字样也表示配置成功。
三、如果在浏览器中能打开http://ipv6.google.com/看到google的搜索框,那么也恭喜你,成功了。
再介绍一种配置IPv6最简单的办法:下载并安装由北京天地互连信息技术有限公司提供的六飞软件(http://www.6fei.com.cn/),无需复杂设置过程,就可以在普通的IPv4环境中轻松获得IPv6永久地址,顺利访问网络上的IPv6资源。
另一个免费IPv6 Tunnel注册及设置(Windows/Linux)
May 25th
虽然免费而且速度也不错,但是需要公网IP(NAT的内网无法使用),可用性大大降低。那今天就来介绍另一个吧——Freenet6。
点进看详细内容。
他们的地址是http://www.freenet6.net(由 于是gogo6提供的服务所以会跳转到http://gogonet.gogo6.com/),首页上可以看到一排链接,其中的Freenet6就是我们 需要的服务了。

点了之后会需要登录,没有帐号可以点击“Sign Up”注册一个,有的话把帐号输进去登录(Sign In)就可以了。

对于长期混迹于网络之上的注册应该不是什么复杂的工作。Email、密码、确认密码、生日、验证码,就这几项。

然后是个人信息,必填的几项是:全名(Full Name)、国家(Country)、运营商(Your ISP,填China Telecom、China Unicom或者ChinaMobile等)、“如果你的运 营商提供IPv6,你会用它来代替Freenet6吗?”(If your ISP offered IPv6, would you use it instead of Freenet6?)、“你的公司是否使用gogoWARE的产品?”(Does your company use gogoWARE products?)、你使用V6的主要网络(Primary network you are taking to v6,一般选家用Home或者宽带Fixed broadband)、IPv6的部署用途(Overall status of IPv6 deployment)以及是否接收产品广告信息(I’m fine with receiving IPv6 product information from time to time but don’t spam me)。填完之后Join就可以了。

你会收到gogoNET发到你邮箱里的注册信息,但是不需要确认。注意这里注册的是过哦gogoNET的帐户,并不是Freenet6的,后面会将 到注册Freenet6的帐户。
登录之后会来到Freenet的服务介绍(Freenet6 Services)。其实现在只要下载软件之后就可以用了(点击DOWNLOAD可以去下载页面),甚至前面的注册都不需要,只要能搞到软件,就可以使用 他们的Tunnel了,因为他们是支持匿名(anonymous)接入的。但是注册之后是有一些好处的(比如静态IPv6地址,可以得到形如 “username.broker.freenet6.net”的域名,以及IPv6地址的反向域名解析),所以我们还是接着往下走吧。
在Freenet6 Services页面上列出了各种服务,包括Tunnel、DS-lite(不是某公司的掌机,不要搞错!这里DS是指双栈)、DSTM、Home Access和一些工具。这里我们需要的是Tunnel服务,点介绍下面的Learn More进去详细介绍。
这里介绍了Freenet6 Tunnel的各种特点,包括前缀、反向DNS、域名构成等等。在Getting started一节的第二段,有一个很不显眼的Click here,点进去就是注册Freenet6的帐户了。

在接下来就简单了,用户名、Email、密码、确认密码、验证码,然后SUBMIT就行了。注册成功之后会在邮箱里收到注册信息,不需要确认,注意 保管好用户名和密码。之后就可以利用所注册的用户名和密码来连接Tunnel了。
接下来是Linux篇。
注:以下框中的内容均为在终端中输入的命令!
在注册篇里提到的下载页面下载Linux版的源代码,编译安装。其实如果使用Ubuntu的话很方便,直接从软件仓库中下载就行 了:
sudo apt-get install gw6c
在Ubuntu软件仓库中的gw6c是作为服务安装的,而不知为什么,我在开机时并不会自动连接,而且一段时间之后连接会丢失,所以还是自己编译 吧。
我下载的是gogoCLIENT 1.2 Source Code (Linux/Unix/MacOS/BSD) – Beta的源代码,觉得beta版不放心的可以下载Client 6.0 Source Code (Linux/Unix/MacOS/BSD)。
下载之后得到的文件是gogoc-1_2-RELEASE.tar.gz,先解包,然后进入目录:
tar -xf gogoc-1_2-RELEASE.tar.gz cd gogoc-1_2-RELEASE
可以参看INSTALL文件来安装,这里就简单介绍一下。
首先需要满足依赖关系,必须有如下软件包:OpenSSL、libcrypto、libpthread、libsocket或libnsl(在 Ubuntu下软件包的名称和这里的并不一样,请自行查找安装,注意要dev包)。
其次内核必须有通用TUN/TAP设备驱动支持、IPv6-In-IPv4隧道支持、IPv6支持,这些模块在Ubuntu下都有。
然后就是编译安装,请自己决定安装目录。
make platform=linux all sudo make platform=linux installdir=/usr/local/gogoc install
当然这样只是匿名连接,要使用上一篇讲的帐号,还需要一番设置。配置文件在/usr/local/gogoc/bin/gogoc.conf, 如果使用Ubuntu软件仓库中的gw6c的话配置文件是/etc/gw6c.conf。因为结构是一样的,所以就一起说了。
用喜欢的文本编辑器打开配置文件,注意需要root权限。需要设置的有以下几项,请搜索并修改:
userid=<Freenet6的用户 名>
passwd=<密码>
server=<服务器,匿名服务器是 anonymous.freenet6.net,验证服务器是authenticated.freenet6.net>
auth_method=<验证方式,匿名是 anonymous,验证是any>
注意这里是Freenet6的帐户而不是gogogoNET的帐户,请区别开(gogoNET帐户是Email,而Freenet6帐户是用户 名)。其余的保持默认。然后进入安装目录,运行程序就可以了。
cd /usr/local/gogoc/bin sudo ./gogoc -y
加参数“-y”是因为首次连接服务器时会保存一个key,不加此参数会询问。
到此,就设置完成了,注意程序必须到安装目录下执行,否则会因为找不到配置文件而失败。其实为了方便可以写一些脚本,甚至加到启动脚本里面,这些大 家自己研究吧。
注册用户连接成功后的IPv6地址是固定的(每次连接都分配到同一个地址),匿名用户的话IPv6地址是动态分配的。注册用户还会得到一个“用户 名.broker.freenet6.net”的域名指向分配的IPv6地址。这些对于需要架设服务器或者希望远程访问自己机器的朋友是很有用的。注册用 户的方式请看前一篇“注册篇”。
下次是Windows篇。
Window下设置就简单多了,因为有图形界面。
还是在下 载页面下载Windows版本,一个是32位的,一个是64位的(必须下载相应的版本,因为需要安装虚拟网卡的驱动,不正确就无法使用)。
下载好后安装,一路下一步就可以了,没有什么插件之类的,Windows可能会弹出一个安装驱动的警告,确定就行了。
安装好之后运行(开始菜单>gogo6>gogoCLIENT>gogoCLIENT Utility),会需要管理员身份来运行(Vista和Win 7)。
软件一共有四个选项卡——Basic、Advanced、Status和Log。
首先来看Basic选 项卡,Server Address就是服务器地址,匿名的 是anonymous.freenet6.net,如果前面注册了Freenet6帐户(参看注册篇)就是authenticated.freenet6.net。 然后选择匿名连接(Connect Anonymously)还是用Freenet6帐户连接(Connect Using the Following Credentials)。Username和Password就填Freenet6的用 户名和密码(注意区别gogoNET帐户和Freenet6帐户,gogoNET的用户名是Email,Freenet6是自己选的用户名)。勾选是否开机启动(Launch the gogoCLIENT service at system startup)。
以上都填好之后点Connect按钮就可以了,连接成 功之后会跳到Status选 项卡显示连接信息。这时只要把工具最小化就行了(不要Close),可以在系统托盘中看到它的图标。如果要断开在Basic选项卡中点Disconnect按钮。
Advanced是 高级选项,除非连接有问题,否则不需要设置。
Windows下的设置就这么简单,到此结束!
其他
Freenet6的优点是提供软件,可以在各种网络状况下连接(包括局域网等NAT环境),缺点是速度比较慢。
其实Freenet6共有四个服务器,分别是蒙特利尔(montreal.freenet6.net)、阿姆斯特丹 (amsterdam.freenet6.net)、悉尼(sydney.freenet6.net)和台北 (taipei.freenet6.net)。默认一般是连到蒙特利尔的,所以速度比较慢。台北地理位置上虽然比较近,但是其实数据要到美国跑一圈,所以 速度也较慢。倒是悉尼,路由直接从香港过去,速度可能会稍快,但其实也快不了多少。服务器地址可以直接填写这四个中的一个。
在Windows下其实有国内的一个服务“六飞”(http://www.6fei.com.cn/),所以介绍Freenet6主要还是Linux下的。
希望IPv6早日普及。
本文来自: 另一个免费IPv6 Tunnel(注册篇)
免费获得IPv6 Tunnel
May 25th
IPv6过渡方案有双栈、6to4、Teredo和Tunnel(隧道)。其中6to4和双栈需要ISP的支持,Teredo实际上是将IPv6协 议打包成IPv4的UDP发送的,在微软的技术文档里,并不推荐这种方式,而且最后要放弃。所以符合最广大网民的实际情况的其实是 Tunnel。
注:以下介绍的方案仅适用于通过ADSL上网或者局域网路由器可以转发协议41的情况。
Tunnel的原理就不解释了,毕竟这篇文章的题目不是“Tunnel详解”,在这里只是要告诉大家怎么申请和使用Tunnel。
中国的IPv6建设是从CERNET2(也就是教育网)开始的,所以很多大学都提供了诸如ISATAP的隧道接入方式,但是,教育网和公网之间存在 着巨大的鸿沟这是大家都知道的,所以这条路就放弃了。
接下来就是寻找提供免费Tunnel接入服务的服务商,这在国内基本是找不到的。国外虽然有不少,但要不然就是申请麻烦(比如Sixxs的),或者 接入复杂(要使用客户端或安装专门驱动),或者受限于国际带宽。
不过还真让我找到了一个申请简单、设置容易的Tunnel接入提供商——Hurrican Electric(简称HE),网址是http://www.tunnelbroker.net/ 。
申请新帐户,左边的登录框下面“Register”注册新用户,会出现注册表单,各项目是:Account Name——用户名(即登录名,同时也和反向DNS有关系);Email address——Email地址(要填真实有效的Email地址,因为待会儿密码是要发来这里的);First Name(填名字就可以了);Middle Initial(中间名,不用填);Last Name(填姓就可以了);Country——国家(选中国“China”);Street——街道地址(简单地填一下就行了,比如人民路2号“#2 Renmin Rd.”;City——城市(填县/市的名称);State/Region——州/地区(填省/直辖市/自治区就行了);Zip/Postal Code——邮政编码(这个不用多说了吧);Phone——电话。
填完之后点击表单下的“Register”就可以了,检查Email,会受到一封来自ipv6@he.net的题为《Hurricane Electric IPv6 Tunnel Broker Registration》邮件,其中就有帐户(Account,就是上面填的)和密码(Password)。
再上http://www.tunnelbroker.net/,在左边登录框里输入帐户(Username)和密码(Password),点 “Login”就登录了。
每个帐户可以申请5个Tunnel,如果ISP支持BGP协议还可以申请BGP Tunnel,不过我想大部分人都不支持,所以还是老老实实地申请一般的Tunnel(Regular Tunnel)吧。
登录后在左边找到“Create Regular Tunnel”,然后在出现的表单里填写IPv4 endpoint(就是你的IP地址,已经在下面“You are viewing from IP”给出了,复制粘贴就可以了)。然后往下找到“Submit”点下去就行了。“We recommend you use”是推荐你使用的Tunnel服务器,如果想更改可以点击“Override”按钮然后选择一个,不过通常没必要。
申请成功后就会见到Tunnel的信息了。我们需要知道的只有“Tunnel Endpoints”下的“Client IPv6 address”,这就是你自己的全球单播IPv6地址。在最下方“Example OS Configurations”里,囊括了常见操作系统的设置方式,选择相应的操作系统后点击“Show Config”就可以了,这里会告诉你怎么设置。注意这里给出的都是命令行命令,Windows XP用户打开命令行的方法是按下键盘上的Windows徽标键+R,然后输入“cmd”(不包括引号)确定;Windows Vista用户打开命令行的方法是打开开始菜单,在搜索栏中输入“cmd”,然后在出现的结果“cmd.exe”上点右键、“以管理员身份运行”(注意必 须要以管理员身份启动命令行提示符,否则命令会无效)。网页上给出的一行内容是一条命令,复制之后在命令行提示符窗口中点右键、“粘贴”(不能 Ctrl+V),然后回车就可以了。
注意给出的设置中有的会包含你的IP地址(就是申请Tunnel时填写的那个),如果你是局域网用户,要把这个地址改成局域网内的地址。
执行完命令之后可以尝试在命令行中执行ping6 ipv6.google.com(Windows XP)或者ping -6 ipv6.google.com(Windows Vista),如果没有出现超时(timeout)的信息,就表示成功连接到Tunnel服务器。(但是出现超时信息也不一定代表失败,还需多方验证)。
今后如果你的IP地址发生了变动或者不想继续使用Tunnel了,就要做相关的设置。登录HE的网站后在中间一栏的下方就是当前已申请的 Tunnel的列表,点击链接进去后就是前面申请完时出现的Tunnel信息界面,如果不想使用Tunnel了可以点击“Delete Tunnel”,如果想修改IP就点击“Tunnel Endpoints”下的“Client IPv4 address”的链接,然后将新的IP填写进去“Submit”就行了。(获取当前IP可以访问http://whatismyip.com/ )
以上方法在Windows XP、云南省昆明市中国电信2Mbps ADSL宽带下测试能几乎达到带宽上限(最快时200KB/s,平均150KB/s),速度还是很不错的。
几点注意:
- Windows Server 2003设置同XP,Windows 7设置同Vista。
- Windows Vista/7由于域名解析的机制有问题,可能即使成功连上,也不能浏览IPv6网站,这种情况只有通过修改hosts文件来解决,但是并不影响IPv6 的BT下载。
- 更多应用上的探讨,欢迎留言或邮件和我探讨。
本文来自: 免费获得IPv6 Tunnel
在IPv4 IPv6双栈环境下配置无线路由器
May 25th
随着CERNET2的飞速建设,现在许多大学的校园网已经开始部署IPv6协议了。IPv6的好处是显而易见的,它不但使我们能够拥有全球唯一的 IP地址,而且给我们提供了第二条网络出口。尤其在进行P2P的时候,如果能够连接上IPv6的用户,速度往往可以彪到1M/s~2M/s。同时IPv6 上的很多资源也是很实用的,例如IPTV、免费代理服务器等等。但是IPv6也带来一些问题,比如说路由器的设置。
相信很多大学的宿舍里网络接口的数目都是少于宿舍电脑数目的,另外对于一些大学,校园网出口是通过IPv4地址进行认证的,如果想要宿舍里所有人共享一个 网关帐户,就需要用到路由器的NAT功能。可问题是NAT技术目前不支持IPv6,也就意味着路由器后面的电脑无法获得IPv6地址,也无法享受IPv6 资源。这篇文章要讨论的问题就是如何配置无线路由器,使得路由器后的电脑能同时使用IPv4与IPv6网络。另外本文所讨论的情况仅限于IPv4 IPv6双栈的情况,通过ISATAP Tunnel连接的情况请参考http://www.dd-wrt.com/wiki/index.php/IPv6
想要配置如此高级的功能,简陋的官方固件显然是不能满足我们的需要,于是我们需要第三方固件的帮助。第三方固件主要有DD-WRT、Tomato以 及DD-WRT。本文使用的是DD-WRT,但是其实只要是支持IPv6的基于Linux的固件理论上都可以实现。不过并不是所有无线路由器都支持第三方 固件的,想要确定你的路由器能不能支持第三方固件,请访问http://www.dd-wrt.com/site/support/router-database;另 外你的路由器必须有4MB以上的Flash空间才能使用支持IPv6的固件版本。我的路由器是Asus WL-500G Deluxe,4M Flash,32M RAM,使用的固件为DD-WRT v24-sp2 (08/23/09) std-nokaid-usb刷机教程请参考http://www.dd-wrt.com/wiki/index.php/安装。注意,刷机操作有让路由器 变砖的危险,并且会使你的路由器丧失保修,请谨慎行事。
首先我们需要在电脑上安装IPv6协议,Windows用户请在开始->运行里输入ipv6 install,Linux 用户请在终端中输入insmod IPv6。然后我们要把电脑直接接在校园网接口上,让它自动获得IP地址,Windows用 户在命令行提示符窗口中输入ipconfig,Linux用户在终端输入ip -6 addr show/ip -6 route show。以Windows用户为例,我们会得到类似以下一些信息
Ethernet adapter Wireless Network Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 10.2.90.146 Subnet Mask . . . . . . . . . . . : 255.255.255.0 IP Address. . . . . . . . . . . . : 2001:250:209:5d11:21d:92ff:fec1:8109 IP Address. . . . . . . . . . . . : fe80::21d:92ff:fec1:8109%4 Default Gateway . . . . . . . . . : 10.2.90.1 fe80::213:d4ff:fee8:50b8%4
这里面有用的信息是IP Address中2001开头的地址,和Default Gateway中fe80开头的地址,把它们记录下来备用。
然后登录到路由器Web页面,选择“管理”,找到“IPv6支持”选项,选择“启用”,并在出现的Radvd选项上选择“启用”。在Radvd配置文本框 中输入:
interface br0 {
AdvSendAdvert on;
prefix 2001:XXXX:XXXX:XXXX::/64 {
AdvOnLink on;
AdvAutonomous on;
其中prefix后面的X替换为之前获得的IPv6地址的对应内容,点击页面最下方的“应用”进行保存
然后进入“命令”页面,在指令解释器里输入:
insmod ipv6 sleep 5 radvd -C /tmp/radvd.conf ip -6 route add ::/0 via fe80::XXXX:XXXX:XXXX:XXXX dev vlan1 metric 256 ip -6 route add 2001:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX/128 dev br0 metric 128 ip -6 neigh add proxy 2001:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX dev vlan1
将第4行fe80后面的X替换为之前得到的Default Gateway地址,将第5、6行2001后面的X替换为之前的IP Address
点击“保存为启动指令”
到这里配置就完成了,拔下路由器电源,把WAN口连接到校园网,LAN口连接到电脑上,插上电源。等电脑显示网络已连接以后,在终端中输入ping6 ipv6.google.com,如果得到类似下面的结果,说明配置成功了
C:\>ping6 ipv6.google.com Pinging ipv6.l.google.com [2001:4860:c004::68] from 2001:250:209:5d11:21d:92ff:fec1:8109 with 32 bytes of data: Reply from 2001:4860:c004::68: bytes=32 time=62ms Reply from 2001:4860:c004::68: bytes=32 time=66ms Reply from 2001:4860:c004::68: bytes=32 time=64ms Reply from 2001:4860:c004::68: bytes=32 time=63ms Ping statistics for 2001:4860:c004::68: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 62ms, Maximum = 66ms, Average = 63ms
-End-
本文来自: 在IPv4 IPv6双栈环境下配置无线路由器
在OpenVZ虚拟机里配置tunnelbroker.net的IPv6
May 22nd
默认情况下,VPS商不会给你在OpenVZ启用sit设备(因为需要重新编译内核等等),不用说burst.net这种大公司。没有sit设 备,openvz下除了teredo协议获得IPv6之外,还有一招。
使用tunnelbroker获得完整的/64甚至/48块的IPv6。
英文来自:http://code.google.com/p/tb-tun/wiki/HOWTO
我经过测试通过,可行的。
我把具体的过程写下,貌似还没有看到有人写过。 是俺们国人写的。仰慕一下,顺便研究研究代码。以下步骤在Burst.NET的 VPS跑着Debian5下测试通过,在VPSVilla.ca的CentOS系统的VPS上也测试通过。
1. 开启TUN设备。
这一步需要服务商来弄。在你发ticket给服务商之前,试试以下命令:
mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun
然后运行
cat /dev/net/tun
假如提示:cat: /dev/net/tun: 文件描述符处于错误状态
那么应该就是可以使用了的。具体还是发个ticket吧。
2. 下载tb-tun软件。
mkdir tb
cd tb
wget http://tb-tun.googlecode.com/files/tb-tun_r14.tar.gz
tar zxf tb-tun_r14.tar.gz
3. 编译tb-tun
gcc tb_userspace.c -l pthread -o tb_userspace
4. 创建Tunnelbroker.net账户
这一步。我不多说了。到tunnelbroker.net注 册。需要到邮箱获取密码。
5. 建立IPv6隧道
首先在tunnelbroker.net内,左边找到:Create Regular Tunnel
进入后:

IPv4 Endpoint内填入你的VPS分配到的IP。
然后在下面选择一个离你的服务器较近的Relay Server.
后面略过。假如你创建成功了,那么就会在Main Page里面的Tunnels里面看到你刚刚建立的Tunnel
6. 绑定Tunnel
这里才是重点。
找到你的tunnel,点进去,你应该看到这样的信息:

这里记录下重点信息:
Routed /64就是你被分配的IPv6地址块。你可以从中任意添加IP。例如我这里IP块可以使用:
2001:470:8:4b9::1
2001:470:8:4b9::2
2001:470:8:4b9::3
2001:470:8:4b9:29ad:2812:293a:cafe:1
等等等等。。(当然,要多少添加多少即可,取之不尽阿)
还有一个重要的信息:
Server IPv4 Address。这个是HE的服务器IP,作中转,后面用到。
有了这两个信息,就可以开始配置了:
setsid ./tb_userspace tb [Server IPv4 address] > /dev/null
ifconfig tb up
ifconfig tb inet6 add [你分配的IPv6地址]/64
ifconfig tb mtu 1480
route -A inet6 add ::/0 dev tb
例如:
setsid ./tb_userspace tb 216.66.22.2 > /dev/null
ifconfig tb up
ifconfig tb inet6 add 2001:470:8:4b9::1/64
ifconfig tb mtu 1480
Debian: route -A inet6 add ::/0 dev tb
Centos: ip -6 route add default dev tb
完成以上工作,你应该就获得IPv6了。
ping一下ipv6.google.com测试一下,假如ping通,那么你的IPv6就拿到手拉。
chencp:~# ping6 ipv6.google.com
PING ipv6.google.com(iad04s01-in-x68.1e100.net) 56 data bytes
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=1 ttl=59 time=14.9 ms
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=2 ttl=59 time=15.8 ms
64 bytes from iad04s01-in-x68.1e100.net: icmp_seq=3 ttl=59 time=15.2 ms
至于你后面用这些IP干什么,就不关我的事情拉。
假如以后还需要添加IP:
ifconfig tb inet6 add [要添加的IP]/64
本文来自:http://ccp.li/