让WINDOWS安全的在LINUX防火墙下
先讲下我实验的网络环境:
台式机,上面有两网卡,一个接外网,另一个接笔记本。台式里的操作系统是XP,里面装了虚拟机(里面是UBUNTU的6.10SERVER)
实现的目标:
让虚拟机里的linux连接到外网(启动后自动拨号上网),同时XP和另一台笔记本都可以直接通过这虚拟机里的LINUX进行共享式的上网。
网上有和多关于主机和虚拟机里操作系统一起上网的举例。一般都是让WIN具有NAT服务,然后让虚拟机里的操作系统一起上网。偶这里反一反,而且感觉让LINUX暴露在外网可以让本来安全系数就很低的WIN系统加上一层屏障。
那么怎么实现呢?
首先,得先做好规划,也就是给机器上的网卡先设置好本地IP。
1 | 连接外网的卡是eth0(XP里的本地连接) |
1 | 内部的卡(XP里的本地连接2) |
虚拟机里的LINUX也有两网卡,都是以网桥的形式和实际的两个物理网卡对应(基本上可以理解为分身)
1 | 设置eth0为连接外网的 |
设置eth1(和XP的连接2一样)
1 | 笔记本上的卡 |
好了,现在可以做下互相的PING,看看有没有都能PING上。
接下来就是要让LINUX具备NAT(地址转发)的功能,原理很简单,就是让所有内部的机器(包括台式的XP)在出外网卡的时候将自己原来的IP地址伪装成由ISP提供的外网IP,并搭配上所指定的DNS服务器地址来进行上网。
这个NAT实现起来其实非常的简单,对于UBUNTU 6。10 SERVER来说就只有两步(前提是PPPOE已经拨通)
1。开启IP转移
echo 1 > /proc/sys/net/ipv4/ip_forward
(原来的值是0,现在改成1就让它开启了)
2。对于内部所有的地址在向外转移的时候都进行伪装(MASQUERADE)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
好了,现在功能基本上就完成了,当然iptables还可以做包过滤和其他一些功能,从而实现防火墙的效果 ,还可以端口印射。。。而且感觉上网速度比以前快了些,呵呵:)
原文作者: linyupark@gmail.com
原文链接: https://linyupark.github.io/2006/12/01/bka-2006-xp-safe-under-linux/