快速业务通道

linux下使用iptables NAT上网

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-22
3:60 -j ACCEPT
#实现NAT多电脑上网
$IPT -t nat -A POSTROUTING -o eth0 -s $LAN -j SNAT --to $WAN # 将 对于 80、443、21端口的访问 重定向到内网服务器上
#$IPT -t nat -A PREROUTING -i eth0 -d $WAN -p tcp --dport 80 -j DNAT --to 192.168.0.23:80
$IPT -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.0.23:80
$IPT -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to 192.168.0.23:443
$IPT -A FORWARD -i eth0 -p tcp --dport 80 -d 192.168.0.23 -j ACCEPT
$IPT -A FORWARD -i eth0 -p tcp --dport 443 -d 192.168.0.23 -j ACCEPT
#将本机的10010端口映射到内网服务器上的3389端口上
$IPT -t nat -A PREROUTING -i eth0 -p tcp --dport 10010 -j DNAT --to 192.168.0.23:3389
$IPT -A FORWARD -i eth0 -p tcp --dport 3389 -d 192.168.0.23 -j ACCEPT
#ftp转发
$IPT -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j DNAT --to 192.168.0.24:21
$IPT -A FORWARD -i eth0 -p tcp --dport 21 -d 192.168.0.24 -j ACCEPT
$IPT -A FORWARD -i eth0 -s 192.168.0.24 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
$IPT -A FORWARD -i eth0 -s 192.168.0.24 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -o eth0 -d 192.168.0.24 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
chmod x /root/iptables_nat.sh echo "/root/iptables_nat.sh" >> /etc/rc.local 2、iptables批量绑定IP-MAC地址的脚本 通过LanHelper等软件或ARP命令得到 ip_mac.txt 文件格式如下: 172.20.0.3 00:00:F0:71:23:60
172.20.0.6 00:16:76:09:0F:23
172.20.0.10 00:13:8F:26:F9:A6
172.20.0.11 00:16:EC:9A:FF:A9
172.20.0.13 00:14:85:93:26:5A
172.20.0.14 00:13:8F:30:40:7F
172.20.0.16 00:16:EC:26:B6:F4
……
IP地址和MAC地址之间只有一个空格 预设转发包为禁止通过
iptables -P FORWARD DROP
然后再根据绑定MAC机器让他通过转发包
iptables -A FORWARD -s 172.20.0.3 -m mac --mac-source 00:00:F0:71:23:60 -j ACCEPT
写个脚本批量绑定MAC机器,以后有新机器加入的时候只需要在ethers.txt文件中增加就行了.
以下内容为程序代码:
cat /root/ip_mac.txt | while read line
do
iptables -A FORWARD -s ${line% *} -m mac --mac-source ${line#* } -j ACCEPT
done

以下内容为程序代码:
while read sip mac
do
iptables -A FORWARD -s $sip -m mac --mac-source $mac -j ACCEPT
done < /root/ip_mac.txt

以下内容为程序代码:
tail -f /root/ip_mac.txt | while read sip mac
do
iptables -A FORWARD -s $sip -m mac --mac-source $mac -j ACCEPT
done &


以下内容为程序代码:
#!/bin/sh
arp | while read ip type mac flags iface
do
echo $ip $mac >> /root/ip_mac.txt
done
ethers.txt只是做限制iptables转发的例子文件名而已,vi手动添加,只需要添加一次就行了,不要重复. 如果只是简单在网关上面绑定IP和MAC地址防止局域网ARP欺骗,只需要拷贝ip_mac.txt到/root/ ,执行arp -f /root/ip_mac.txt 绑定命令,并把此命令加入到/etc/rc.d/rc.local 中. 3、内网实现NAT代理上网,使用外网地址池 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 222.33.44.50-222.33.44.60 Linux下单网卡绑定多IP(外网接口eth0上绑定多IP) 在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件,添加内容如下: DEVICE=eth0:0
IPADDR=222.33.44.51
BROADCAST=222.33.44.25

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号