转自:http://linux.vbird.org/linux_server/redhat6.1/linux_22nat.php
要求 :
基本上,你要做的事情其实真的很简单,只要:
- 第一张网路卡eth0为对外的连线介面,具有实体IP;
- 第二张网路卡eth1为对内的连线介面,为虚拟IP。
- 确定第一张网路卡可以连上网际网路 :关于对外的连线上网际网路方法请参考『 连上Internet 』的说明,这里就不多说了;
- 确定第二张网路卡可以正常的启动 :这是一张具有虚拟IP的网路卡,请确定他可以被启动,另外,这里的设定是这样的:
- IP为192.168.1.2;
- 子遮罩网路为255.255.255.0;
- gateway 为192.168.1.2;
- 惯用的DNS server 为 139.175.10.20;
- 开启IPV4 :确定/etc/sysconfig/network这个档案中,有下列这一行: FORWARD_IPV4=yes ,这是开启传送IP服务的一个设定。 如果没有的话,请将这一行加入network这个档案中,然后执行:
# /etc/rc.d/init.d/network reload - 确定ipchains已经编译进核心 :这个比较麻烦,不过,如果你是用这个网页提供的方法进行安装Linux的话,这个程式已经被编译进核心了,所以不用理他没关系!
- 设定192.168.1.0-192.168.1.255这一个网段的IP可进行NAT服务 :接下来就是直接设定了,只要依序执行底下的咚咚:
这样就可以了! 如果你觉得这样很麻烦的话,这里鸟哥已经有一个写好的批次档,与说明档 ,你可以下载使用,使用的方法就更简单了:
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -j MASQ -s 192.168.1.0/24 -d 0.0.0.0/0
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_autofw
/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_portfw
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_vdolive
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_mfw加上一个参数all 是让两个网域可以连上这部NAT 主机!
# mkdir /usr/driver
# mkdir /usr/driver/nat <==建立一个nat的子目录
# mv nat.sh /usr/driver/nat <==将档案移动到nat这个目录下
# cd /usr/driver/nat
# chmod 744 nat.sh <==修改nat成为可执行的档案
# ./nat.sh all <==开始执行
不要怀疑, 这样就已经作好NAT主机的基本设定了! 如果你还要设定更精细的防火墙的话,你可以去找一些比较高深的HOWTO 的文件去钻研,我这里就只介绍你可以作为NAT 的基本设定喔!- 将上面的咚咚写入开机自动执行档 :由于每次开机都要进行一次NAT的设定是很烦的一件事,因此我们可以将上面的一大串字全部写在/etc/rc.d/ rc.local 这个开机自动执行档案的最底下,如此一来,每次开机就会自动将NAT 的设定载入你的主机中了!
- 设定Windows的网路设定 :好了,主机的部分设定完了,接下来就是各个Windows个人电脑的设定了,以Windows 98为例,
- 你可以在『开始』->『设定』->『控制台』->『网路』开启网路相关设定,或者是在『网路上的芳邻』按右键,选内容,也可以进入网路设定内容;
- 在网路的内容中,察看你所需要的通讯协定是否存在了,主要是有NetBEUI 、IPX/SPX 、及TCP/IP 这几个设定,如果不存在的话,请按『新增』->『通讯协定』->选『MicroSoft』便可选择相关的通讯协定了;
- 进入TCP/IP 中,在IP 项目,填入192.168.1.xxx ,然后子遮罩网路填选255.255.255.0,在通讯闸(最重要)的部分填入NAT 主机的虚拟IP(这里是用192.168.1.2),然后再到DNS 填入惯用的DNS 主机(可以是192.168.1.2 或者是139.175.10.20);
- 重新开机后,就可以连上Internet 啰! ( 以上相关的设定请参考小弟写的一篇咚咚 )
- 设定完成 !
脚本:
# /bin/bash# This script will make your machine to be a NAT machine..
# Writted by VBird 2001/02/19
PATH=/sbin:/bin:/usr/bin:/usr/sbin
export PATH
# Check if the network is working ...
. /etc/sysconfig/network
echo -n "NetWork is : "
echo $NETWORKING
[ $NETWORKING = "no" ] && exit 0
case "$1" in
all)
# 1. All you can do..
echo "All undefind IP will use your Linux for a NAT proxy..."
/sbin/ipchains -P forward MASQ
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_autofw
/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_portfw
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_vdolive
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_mfw
echo "OK"
;;
one)
# 2. Only 192.168.0.xxx can use your NAT proxy machine....
echo "Only 192.168.0.xxx (xxx=1-254) can use your NAT proxy machine ..."
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_autofw
/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_portfw
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_vdolive
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_mfw
echo "OK"
;;
two)
# 3. Only 192.168.0.xxx and 192.168.1.xxx (xxx=1-254) can use NAT proxy"
echo "Only 192.168.0.xxx and 192.168.1.xxx (xxx=1-254) can use NAT proxy"
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0
/sbin/ipchains -A forward -j MASQ -s 192.168.1.0/24 -d 0.0.0.0/0
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_autofw
/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_portfw
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_vdolive
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_mfw
echo "OK"
;;
*)
echo "Usage : {all|one|two}"
exit 1
esac
本文转自feisky博客园博客,原文链接:http://www.cnblogs.com/feisky/archive/2011/11/12/2246630.html,如需转载请自行联系原作者