当前位置:Linux教程 - Linux - Linux下IP巧设置

Linux下IP巧设置

如何实现ip伪装?假设你现在有一台Linux主机通过DDN专线连接到Internet上,有自己的ip和域名,同时还与20台win95工作站通过HUB连接,你现在完全可以通过ip伪装来实现这20台win95工作站同时上网。

单纯的IP Masq其实很简单。如果你用的是2.0.x 和 2.1.xx 核心,在保证核心内支持IP forward 和 IP Masq的前提下,在/etc/ppp/if-up里最后加一句(假设你的私用网络地址是192.168.x.x): /sbin/ipfwadm -F -a m -S 192.168.0.0/16 -D 0.0.0.0/0 。如果像有些人用的是2.1.10x,ipfwadm就不能用了,换成了ipchains。方法一样:/sbin/ipchains -A forward -j MASQ -s 192.168.0.0/16。然后,让你的LAN上的所有主机的缺省网关都指向这台做Masq的Linux机器就可以了。ipchains需要另外下载,可以在互联网上查找。

如果客户机是win95的话,在DHCP里设一下就全搞定了。当然,每台客户机的DNS要指向ISP的DNS,或者简单点,在Masq机器上开一个cache only和forward only的DNS服务器也行。如果你的DNS已经搞定,用squid也非常简单,缺省的配置文件/etc/squid.conf就可以工作(也许需要把http的端口号改为8080),而且可以实现cache的功能,使用效果不错,方法极为简单。

第一步:设置好你的PPP,保证在Linux box上可以上网。
第二步:运行squid -z建立cache目录。
第三步:如果需要,修改/etc/squid.conf,缺省的就挺好,可改可不改,要改的话,把http_port从3128改到8080。

这样,前期工作一切就绪。以后需要上网时,接通PPP,运行squid,你就有了一个挺不错的proxy了,客户端设置好proxy。如果你把pppd升级到2.3.5,就可以配置成“按需拨号”,再配上ISDN的话,和专线估计也就没什么差别了。

缺省网关: 192.168.0.1(Linux box)
IP Masq:(Linux box)default
router : a.b.c.d /sbin/ipfwadm -F -a m -S 192.168.0.0/16 -D 0.0.0.0/0 或者 /sbin/ipchains -A forward -j MASQ -s 192.168.0.0/16
squid: 什么也不用设置

这里的192.168...只是个例子,换成你自己的地址范围。服务器的缺省网关当然是路由器了! 别的机器的缺省网关必须是服务器(Linux box)。

在Linux服务器上装两块网卡,一块接内部网,给个192.168之类的保留地址,另一个直接和路由器接起来,用你的正式地址,这样你只需要两个合法的IP就够了。这样做安全性应该好些。如果把那个路由器干掉,直接用Linux接专线作路由器,你就只需要一个合法IP了。

如果只申请到有限的IP,但有多人访问INTERNE,如何用Linux实现呢?

两种方式:

1.proxy(即squid或其他proxy)
2.ipmasq + squid

如果你只要http、ftp,用1就可以了。