Username: Password:

IP伪装之ipchains快速指南
来源:作者: 发布时间:2007-12-05 06:22:14

 
上个月,我和兄弟想在家里建一个小型网络,以便在一个modem一条电话线的情况下让更多的电脑能联上互连网。我的机子联着modem,运行Linux,用作服务器;兄弟的机子运行Win95作客户机。我在网上到处查找关于这种小型网络的资料文档,最后决定使用IP伪装的技术来达到目的。
IP伪装技术是通过指派内部网的IP地址(在本例中我的机子IP为 10.0.0.1 客户机IP为10.0.0.2)使其他的客户机在没有外部IP地址时共享服务器的互连网连接。我看了许多有关的文档,的确弄懂了ipchains的原理和配置过程,但就是不能正常地运行在我的机子上。于是我就进入了在Undernet.org的#Linux IRC频道,并得到了一个自称Mongoose的同好的帮助。
他给了我一个他写的"用ipchains来实现IP伪装"的快速教程的网页地址。

*Ipchains是个用来配置防火墙和IP伪装的软件,随RedHat 6.0 捆绑发行。(译注:ipchains也是免费软件,在网上可自由下载,主页在:

http://www.adelaide.net.au/~rustcorp/linux/ipchains

看了Mongoose的快速教程后,我用不到十分钟就搞定了我的网络。这也是我继续和他联系, 并得到他同意在Linux公报上发表他的教程的原因。

下面就是他的教程:


----------------------------------------
注意:
----------------------------------------
以下IP地址的含义为:

0.0.0.0 互连网的网关.
10.0.0.1 作网关机子的网卡捆绑IP地址.
10.0.0.2 作客户机 client0 的网卡IP地址.
10.0.0.3 作客户机 client1 的网卡IP地址.


网络网关配置
----------------------------------------
1.载入网卡模块(假如需要的话)

/sbin/modprobe ne2k-pci
(不同网卡的模块名也不同)

2.激活网卡并配置路由
(在/etc/rc.d/rc.local中加入以下脚本)

/sbin/ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up
/sbin/route add -net 10.0.0.0 netmask 255.255.255.0 eth0
/sbin/route add default gw 0.0.0.0 eth0

3.允许客户机使用您的网络。
A. 在 /etc/hosts.allow 的尾部加入以下脚本:

ALL:10.0.0.2
ALL:10.0.0.3

B. 在其他需要配置的地方加入所需配置:
i. 因为速度的原因我建议使用squid作ftp/http的proxy.


网络客户机配置 ( 10.0.0.2 client0 )
----------------------------------------
1.载入网卡模块(假如需要的话)

/sbin/modprobe ne2k-pci

2.激活网卡并配置路由
(在/etc/rc.d/rc.local中加入以下脚本)

/sbin/ifconfig eth0 10.0.0.2 netmask 255.255.255.0 up
/sbin/route add -net 10.0.0.0 netmask 255.255.255.0 eth0
/sbin/route add default gw 10.0.0.1 eth0


网络测试
----------------------------------------
1. 从客户机 ping 10.0.0.1 ,并反向测试。

2. 使用 /sbin/ifconfig 来观察包传输情况。

3. 此时您应该能从客户机使用服务器的telnet/ftp服务。
A. 假如您在客户机上不能telnet到服务器,请检查 hosts.allow文档.


IP MASQ GATEWAY IP MASQ SETUP

IP伪装网关配置
----------------------------------------
1. IP转发配置(IP forwarding setup).
A. 为IP伪装网关加载IP转发。

echo "1" > proc/sys/net/ipv4/ip_forward
B.在每次机子启动时加载IP转发:
i.在RedHat中如下修改 /etc/sysconfig/network

FORWARD_IPV4=true

ii.在其他版本中在 /etc/rc.d/rc.local 的结尾加入:

echo "1" > proc/sys/net/ipv4/ip_forward
C.确保您的rc.local文档中没有如下内容:

echo "1" > /proc/sys/net/ipv4/tcp_syncookies


2.现在配置路由。 把以下内容加入到 rc.local中,让机子启动时自动装载。
A.在默认状况下拒绝任何 ip 转发。

/sbin/ipchains -P forward DENY

B. 允许您的子网电脑 (10.0.0.2 和 10.0.0.3)使用ip转发。

/sbin/ipchains -A forward -s 10.0.0.2/24 -j MASQ
/sbin/ipchains -A forward -s 10.0.0.3/24 -j MASQ

C.增加您需要的伪装模块。

/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio
...



--------------------------------------------------------------------------------

只要按以上步骤,网络应该能配置好。我碰到的一个问题是配置好了我的IP伪装后,客户机只能通过IP地址访问互连网,此时您应该在/etc/resolv.conf中配置好您的DNS,并且让named守护程式运行,问题就解决。

好了,现在您的网络就弄好了。如您想了解更多有关IP伪装和防火墙的知识,参见HOWTO文档:

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅