扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
应用原理
在Linux系统里,如果网络上的某台机器连接到了Internet上,那么可以配置网络上的其它系统通过这个连接访问Internet。使用这种方式,仅仅通过一个IP地址,几个不同的系统就可以同时连接到Internet上。这种方法称为IP伪装。
在Linux上的IP伪装是用ipchains防火墙工具实现的。实际上,配置防火墙也就是配置IP伪装。目前的IP伪装和ipchains防火墙一样,支持所有通用的网络服务,如Web浏览、telnet、ping和gopher。
在Linux系统上实现的IP伪装,具有Internet地址的那台机器同时也作为局域网上的防火墙和网关。本地的机器使用防火墙的Internet地址连接到Internet上。实现了IP伪装的防火墙有时也被称为MASQ gates。使用IP伪装,连接到Internet的系统(防火墙)可监听到来自本地网络上主机的Internet请求。接到请求后,它把发出请求的本地主机上的IP地址替换为防火墙Internet上的IP地址,然后将这些请求发送到Internet上,就如同自己的请求一样。来自Internet上的响应会送到防火墙系统上。防火墙所接收到的响应是通过自己的Internet地址来定位的。防火墙接着判断该响应对应于本地系统上的哪一个请求,然后它删除该响应的IP地址并通过本地网将其发送给本地主机。对本地机器来说,连接是透明的,就如同直接连接到Internet上一样。
防火墙的实现
1. 硬件配置
一台旧的AST 486DX/66的计算机,有8M内存和500M的硬盘,装有两块网卡,分别接到内部局域网和主干网,同时主干网通过一个路由器连到中国地震局和Internet。
2.安装Linux系统
先对Linux系统来一次的安装(我使用的版本是Redhat 6.0,所有实例都基于该版本)。因为所装的组件越少,系统的后门、安全漏洞就越少,所以只装一个最小的系统就够了。选择一个稳定的内核,本例使用Linux 2.2.5-15 kernel。
Linux内核包括对防火墙的支持,其中实现防火墙的工具称为ipchains。我们可以利用这个工具实现IP伪装和代理。在使用ipchains之前,需要将它编译成为内核的一部分。Redhat 6.0已经实现了这一部分。
3.配置两块网卡
由于AST 486DX/66机器中只有EISA、ISA扩展槽,因此专门到市场上购得两块3C509(10M)以太网卡。通过该网卡的配置软件(3c5x9cfg.exe)进行中断号和I/O地址的设置。注意不要与机器内已占用地址发生冲突。
4. 配置网络地址
我们将eth0的IP地址配置为210.72.114.141(连接主干网的有效IP地址),eth1的IP地址配置为10.3.15.2(连接内部网的IP地址),为了能在启动时进行网络配置,我在/etc/sysconfig/network-scripts 目录中加入了ifcfg-eth0和ifcfg-eth1两个文件(具体内容略)。这两个文件在启动时由系统读取,配置网络和路由表。
5. 测试
用ifconfig 和route对系统进行测试,具体测试过程略。
安装IP MASQ gates,要实现IP伪装,需要用ipchains来指定转发规则。在开始之前,要打开内核的IP forwarding,使系统能够转发所有要发出的数据,再配好路由表,保证内部网和外部网之间畅通无阻了,在我们控制任意之下才能任意访问。
实现方法:在/etc/rc.d/目录下创建一个script,叫作ipchains.rules(执行#chmod u+x ipchains.rules确保为可执行文件,具体内容略)。然后加一行/etc/rc.d/ipchains.rules到/etc/rc.d/rc.local中,以确保每次机器重新启动后即运行所设定的各项防火墙规则。这样基于ipchains和IP masquerading的包过滤防火墙就建立起来了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者