IPTABLES实现NAT服务深圳市拓世威尔科技有限公司第1页2020-3-29代理服务器版本:iptable.1.0作者:×××××日期:2011-4-22IPTABLES实现NAT服务深圳市拓世威尔科技有限公司第2页2020-3-29:系统环境.....................................................................................................................................32:iptables实现nat代理................................................................................................................43:开机自动运行代理步骤如下:.................................................................................................54:规则的保存以及自动运行:.....................................................................................................55:为iptables添加相应规则..........................................................................................................66:系统日志....................................................................................................................................97:iptables实现nat实例..............................................................................................................101:Linux代理服务器网卡设置:........................................................................................102:nat实现和防火墙规则的添加.........................................................................................103:系统日志设置...................................................................................................................114:验证nat.............................................................................................................................115:查看系统日志记录...........................................................................................................126:规则的添加和删除...........................................................................................................12IPTABLES实现NAT服务深圳市拓世威尔科技有限公司第3页2020-3-29系统环境环境:系统:Ubuntu10.04linux服务器配置:网卡两块windowsxp:一台网卡的配置:eth0:连接外网IP:192.168.88.101子网掩码:255.255.255.0网关:192.168.88.1DNS:192.168.88.1注:(网卡eth0和网卡eth1的IP不能在一网段上)eth1:连接局域网IP:192.168.8.2子网掩码:255.255.255.0网关:无DNS:无注:(eth1为连接内网的网卡,不需要设置网关和DNS)xp:IP的设置IP:192.168.8.5子网掩码:255.255.255.0网关:192.168.8.2DNS:192.168.8.2注:(局域网的IP在代理服务器的IP段内(192.168.8.0到192.168.8.255之间),网关和DNS设置为代理服务器的IP)IPTABLES实现NAT服务深圳市拓世威尔科技有限公司第4页2020-3-29:iptables实现nat代理切换到root权限下,执行如下代码:注:(完成以下三个步骤,在局域网内随便打开一个浏览器访问Internet,能正常打开,访问成功.)1.在内核中打开IP转发功能.echo1/proc/sys/net/ipv4/ip_forward2.使局域网用户能访问internet所要做的natiptables-tnat-APOSTROUTING-oeth0-jSNAT--to192.168.88.1013.在PREROUTING链中添加目的地址转换规则:iptables-tnat-IPREROUTING-ieth1-ptcp--dpor53-jDNAT--to-destination192.168.88.1iptables-tnat-IPREROUTING-ieth1-pudp--dpor53-jDNAT--to-destination192.168.88.1由网卡eth1,端口为53进来的包全部指向192.168.88.1(做DNAT)上规则命令参数详解:iptables-tnat:表名是指定nat表-I:根据序号插入一条规则,PREROUTING:修改到来的包,-ieth1:指定的数据包的接口为eth1-ptcp:协议,tcp(传输控制协议)--dpor53:用来匹配封包的目的地的端口号-jDNAT:做目标地址转换to-destination192.168.88.1:(destination或-d)用来转换目的地的DNS(把所有进来的包做DNS转换,转换为192.168.8.1)在POSTROUTING链中添加源地址换规则:iptables-tnat-IPOSTROUTING-oeth0-s192.168.8.0/24-ptcp--dpor53-jSNAT--to-source192.168.88.101:40000-50000iptables-tnat-IPOSTROUTING-oeth0-s192.168.8.0/24-pudp--dpor53-jSNAT--to-source192.168.88.101:40000-50000由网卡eth0,IP地址为192.168.8.0到192.168.8.255之间并且端口号为53的出去包,做源地址转换规则上规则命令参数详解:iptables-tnat:表名是指定nat表-IPOSTROUTING:准备修改出去的包-oeth0:指定封包要从那块网卡送出去-s192.168.8.0/24:指定规则操作源地址IP为0到255之间-pudp:协议,udp(用户数据包协议)--dpor53:用来匹配封包的目的地的端口号-jSNAT:-j,指定具体的处理方法,SNAT,做转源地址转换IPTABLES实现NAT服务深圳市拓世威尔科技有限公司第5页2020-3-29:用来转换封包的来源IP(把ip地址为192.168.8.0到192.168.8.255出去的包转换成192.168.88.101)40000-50000:端口号在四万到五万之间.3.开机自动运行代理步骤如下:1.在开机自动运行加载创建该文件vim/etc/rc2.d/S99iptables-save注:(S99iptables-save中的iptables-save是自定义的)输入以下内容:#!/bin/bashecho1/proc/sys/net/ipv4/ip_forwardiptables-tnat-APOSTROUTING-oeth0-jSNAT--to192.168.88.101(如加以上两句命令只能访问局域网,若想访问Internet加以下四条命令即可)iptables-tnat-IPREROUTING-ieth1-ptcp--dpor53-jDNAT--to-destination192.168.88.1iptables-tnat-IPREROUTING-ieth1-pudp--dpor53-jDNAT--to-destination192.168.88.1iptables-tnat-IPOSTROUTING-oeth0-s192.168.8.0/24-ptcp--dpor53-jSNAT--to-source192.168.88.101:40000-50000iptables-tnat-IPOSTROUTING-oeth0-s192.168.8.0/24-pudp--dpor53-jSNAT--to-source192.168.88.101:40000-50000:wq!保存退出重启计算机自动生效4.规则的保存以及恢复:如果你想添加某些规则让他开机自动运行怎么办呢?方法如下:在S99iptables-save文件最后添加相应的规则如:进入:vim/etc/rc2.d/S99iptables-save在文件后面添加规则:iptables-AINPUT-ptcp-mmultiport--source-port25,53,80,100iptables-AFORWARD-f-mlimit--limit100/s--limit-burst100-jACCEPTiptables-AINPUT-ptcp-mmultiport--destination-port25,53,80,100:wq!保存退出重启计算机自动生效/et/'rc2.d/S99iptables-save如果你想删除和修改一条规则,可进入此文件进行删除和修改相应的操作IPTABLES实现NAT服务深圳市拓世威尔科技有限公司第6页2020-3-29:为iptables添加相应规则iptables规则的使用,以下规则根据自己需要酌情添加iptables-L-n列出表/链中的所有规则iptables-F-F清除,作用就是把FILTRETABLE的所有链的规则都清空iptables-X清除预设表filter中使用者自定链中的规则iptables-L-n--line-number查看规则详细信息以及规则编号netstat-tnl查看服务器打开了那些端口号dmesg其次你检查一下内核是否记录了vim/etc/rsyslog.conf编辑rsyslog.conf,有该文件无须添加iptabes-DINPUT1删除一条规则,注:''1''为你要删除的规则编号iptables-pINPUTD