Linux单网卡架设VPN并NAT共享上网

服务器使用shorewall作为防火墙,实际上shorewall只是作为iptables的一个配置程序而已,实际上防火墙还是iptables;
首先是建立VPN,使用软件包PPTPD,这样做的好处是方便认证,也支持windows,安全性不如openvpn,但是简单实用;

服务器环境:
OS:ubuntu server 8.10
firewall: shorewall
IP:192.168.2.100
安装:

sudo apt-get install pptpd

修改配置文件:/etc/pptpd.conf

修改localip remoteip

localip 192.168.250.1
remoteip 192.168.250.234-238,192.168.250.245

这里随便找了个IP段localip相当于拨号后的服务器地址,可以写成本机IP,或者和remoteip的IP段相同的一个IP地址

remoteip是客户机分配的IP段,这里分配了12个IP地址,也就只允许12个机器同时通过VPN连接,再增加就不能分配到IP地址了

修改配置文件:/etc/ppp/chap-secrets

这个文件里面设置登陆用的账号密码等信息

设置格式是:

# client server secret IP addresses

abc * 123456

第一个是用户名 然后是服务器地址 然后是登陆所用的密码 最后是为客户拨号后分配的IP地址,不指定的话就是系统自动分配

以上过程之后,咱的PPTPD就配置好了哈

由于服务器采用了shorewall防火墙,需要开放端口1723,47和gre协议

编辑/etc/shorewall/rules

增加:

ACCEPT net $FW gre
ACCEPT net $FW tcp 1723
ACCEPT net $FW tcp 47

然后重启下shorewall:

sudo shorewall restart

开始测试在windows上VPN拨号吧

windows下VPN连接建立方法就不多说了哈

OK,测试VPN可以拨通了,但是还不能通过服务器的网络连接互联网,可能你会发现,除了访问服务器,其他你什么都干不了

下面来做NAT,不过这个地方我也没做得很好,还有点缺陷,希望以后能解决这个问题

拨通VPN后,在服务器上使用ifconfig可以看到多了一个PPP*的网络连接,例如我这里是ppp0

做NAT我也使用shorewall来做

修改/etc/shorewall/interface

增加:

ppp0 ipv4

修改/etc/shorewall/zones

增加:

ppp ppp0

修改/etc/shorewall/masq

增加:

eth0 ppp0

OK,然后重启shorewall

sudo shorewall restart

NAT配置好了

这里要注意的是ppp0一定要存在,否则shorewall要报错,这个就是shorewall不足的地方了,不够灵活。

如果你不用shorewall 防火墙,直接使用iptables指令进行dnat操作,就不会因为没有ppp0连接而报错了。

中科大的centos源恢复

昨天把centos升了下级。cn99的源失效后,很难找到速度能与之相比的源就一直没更新,突然发现中科大的源又恢复了,就换了源升了下级,电信访问速度还是很快的!

安装后请按照以下步骤修改CenOS-Base.repo,以后就可以方便的用yum安装软件了.
cd /etc/yum.repos.d
mv CentOS-Base.repo  CentOS-Base.repo.save
wget http://centos.ustc.edu.cn/CentOS-Base.repo.5
mv CentOS-Base.repo.5 CentOS-Base.repo

顺便再记录几个centos的源:
上海交通大学:http://ftp.sjtu.edu.cn/centos/
清华大学:http://mirror.lib.tsinghua.edu.cn/centos/
山东电信:http://mirrors.ta139.com/centos/

windows下D盘根目录下出现gdiplus.dll

好久没注意,突然在windows下D盘根目录下出现gdiplus.dll文件,我的D盘根目录下全是子目录,就这么一个文件很显眼,难道是木马?这么明显的标志也太那个了吧?gdi?有点熟悉,windows下跟显示输出有关的接口。管它的先删了再说。
打开google一搜,很多人都看法是QQ升级留下的东西,没什么用,删之即可!

为centos安装NTFS支持

我用的centos5.2,默认不支持NTFS格式的分区,无法共享windows分区下的文件,需要安装NTFS支持!

经过搜索找到解决之道!

首先,查看自己系统的内核版本!

# uname -r
2.6.18-92.1.13.el5

其次,在这里找到对应的内核模块文件下载

http://sourceforge.net/project/showfiles.php?group_id=13956&package_id=24313

如我的是:kernel-module-ntfs-2.6.18-92.1.13.el5-2.1.27-0.rr.10.11.i686.rpm

最后,安装下载来的rpm包,

运行/sbin/modprobe ntfs加载内核模块。

运行dmesg | grep NTFS,可以查看NTFS驱动版本。显示

# dmesg | grep NTFS
NTFS driver 2.1.27 [Flags: R/W MODULE].

就可以挂载NT格式的分区了!