小服,爸爸喊你回家——在家搭建公网可访问服务器环境全过程

由于种种原因,最终还是决定在家搭建一个服务器环境,把所有的测试网站,Demo站,咪哩嘛啦站都移回家。

先看一下我有什么

  • 一台2008年10月入手的Acer 4930 笔记本电脑
  • 一根下行20M,上行2M的电信光纤接入
  • 一个花生壳DDNS服务账号,免费的
  • 一个域名(uice.lu)
  • 一个DNSPod账户,免费的

基本思路,就是将域名解析到花生壳的动态域名,利用花生壳的DDNS动态绑定到家中的IP,从路由器中转发需要的服务端口到笔记本上,在笔记本上安装Ubuntu Server来运行需要的服务。

确认中国电信对DDNS的态度

由于家中已经改为光猫,而光猫自带路由功能,并且是锁定的,没有端口转发这种功能。这就意味着即使我又拖了个路由器,但只是通过动态IP连接光猫的路由,处于二级路由的子网中。

要让自己路由器WAN口拿到公网IP,只有将电信光猫的路由功能关闭,学名“改桥接”。网上查了N多方法,最后的结论:打10000号。

10000号帮我转了报修台,969112一小时后给我回电,说可以操作,人马上到。要知道这可是5月1号的晚上9点!不得不佩服电信的值班水平。

电信小哥很有爱,说这在理论上是禁止的,因此如果有电话回访,要说他没来过。

他们可以拿到对应我这台光猫的超级密码,因此很容易就解决了。确认了PPPOE拨号用户名和密码,我家又恢复了通过路由器拨号上网。

在路由器中设置动态域名,端口转发

TP-LINK自带花生壳的服务,直接输入花生壳的用户名密码即可。现在的极路由那就更友好了,据说他们的DDNS服务更先进一些,下次试试。

端口转发只能通过IP进行,因此先在路由器的DHCP给笔记本的MAC地址来一个静态分配。192.168.1.128,嘿嘿,我喜欢这个IP。

挑些常用的端口设置转发,维基百科上有个比较全面的的端口服务和所占用的协议说明,照着这个我开了DNS的53,FTP的20,21,SSH的22,SSL的443,HTTP的80和备用的8080。

在笔记本上安装Ubuntu Server

下载了最新的LTS版Ubuntu Server ISO文件,Trusty Tahr,可信的……塔尔羊?这是神马……

不想刻盘了(主要是没有盘),通过U盘直接安装Ubuntu Server。像以前一样,使用U盘启动,启动器我用的grub4dos,menu.lst配置这样子:

title Ubuntu Live CD
find --set-root /ubuntu-14.04-server-amd64.iso
kernel /BOOT/vmlinuz boot=casper iso-scan/filename=/ubuntu-14.04-server-amd64.iso ro quiet splash locale=zh_CN.UTF-8
initrd /BOOT/initrd.gz

从U盘启动以后果然不出我所料,安装程序报CD-ROM中没有找到盘。爹没有用CD装好么?这个帖子表示ISO文件里有几个文件名的后缀名错了,不影响CD安装,但是挂Live CD就会出问题。我怎么记得12.04就有这个问题了,这么多年了没人理一下吗?

于是尝试把ISO文件真的挂载到/cdrom文件夹。

Alt F2进终端

mkdir /media/usb
mount -t vfat /dev/sdb1 /media/usb
mount -o loop /media/usb/ubuntu.xxx.iso /cdrom

Alt F1回来

这下差不多可以装了。不过到安装可选软件包那一步的时候自动跳回菜单了。没事,俺们手动进行下面的步骤,按照菜单顺序,装了grub启动器。

接下来配网卡。既然笔记本有无线,那咱们就不连网线啦,直接把无线配置成默认网卡。

安装wpa_passphrase是不用上网的,这个东西已经被包含在了Ubuntu的CD-ROM源中。apt-get install wpa_passphrase 提示没找到CD-ROM!意料之外情理之中。好吧,CD-ROM源,把我们的ISO再mount回来,只不过这次mount在/media/cdrom了。

根据Ren兄博客中的指示,最后配置成功了。中间遇到一个弱弱的问题,sudo some command > filename用来保存执行结果的时候,即使前面有sudo,写入文件时也会报2没有权限。当然,我可没那么好学,先输出到home目录以后sudo cp搞定。

由于没有安装可选软件包,许多基本的命令都没有像telnet, ssh, curl,自己apt install呗。对了,为了避免它再叫我挂载CD-ROM,把源列表编辑了一下,从cdrom://改成了网易搜狐的最新14.04源。

对了,Terminal不支持双字节编码,因此如果语言设置的是中文,在本机屏幕上会看到一个个小方块。不过只是显示的问题,以后从其他电脑SSH的时候不会有这个问题。如果不爽的话,这里有几条路。

最后

sudo apt install apache2 mysql php5 git

本来添加php的PPA来保持最新的,突然发现14.04自带的已经是5.5.9了,于是就不搞了。注意php要在MySQL之后装,不然还得手动装php的mysql扩展。

老机器原地复活,怎一个爽字得了?

先跑一阵子,关于稳定性和照片,以后奉上。

架设DNS服务器,让网内使用内网IP连接

我使用的是BIND,这里有一篇好文

然后把路由器的DHCP DNS设置为新服务器的IP就好,注意这里并不依赖路由器的53端口转发,因为咱们DNS服务器只在局域网内使用。

配置温度传感器

使用lm_sensors,http://www.linuxsong.org/2010/09/linux-look-cpu-temperature/

上两张图

Acer 4930G 服务器

Acer 4930G 服务器

 


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据