1、目的:解决网络跨运营商互访质量不佳的问题,通过一台双网卡连接两个不同的运营商的linux主机,通过iptablse进行nat跳转,从而解决此网络问题。2、
主参考文档:
Iptables 指南.chm,以下的文档均指它,下载地址:http://www.linuxidc.com/Linux/2012-07/64851.htm3、主要的表:
filter:筛选过滤表,不加表时,默认是这个表,用于防火墙规则过滤
nat:转发表,用于IP跳转
mangle:改包的一些属性,用于流控,QOS等,此表用得很少,可以不理它4、安装:有些系统是自带的,有些不自带或比较老的要下载再编译安装,文档2有介绍5、打开服务:service iptables start
加入开机启动:chkconfig iptables on6、查看服务状态(有时显示的不准,如里面一条规则也没有时)
service iptables status --也可以用于查看所有的表链规则7、为开启路由转发必须执行的命令
echo "1" > /proc/sys/net/ipv4/ip_forward --这个是开启转发必要的命令,但这样操作是临时的,重启机子就还原了,永久设置见下面
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp8、永久设置转发功能,防止重启失效
# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.tcp_syncookies = 1
# sysctl -p (使设置马上生效)9、语法格式
iptables [-t table] command [match] [target/jump]
--table
如果不写,默认是指filter表--command
见文档6.3--match
见文档6.4--target/jum
见文档6.510、单网卡实例:x------〉广州机房(即中转机子)120.132.152.142:9101------〉运营商219.140.165.133:80。-j MASQUERADE智能匹配,但消耗一定的cpu
iptables -t nat -A PREROUTING -p tcp --dport 9101 -j DNAT --to 219.140.165.133:80
iptables -t nat -A POSTROUTING -p tcp --dport 80 -j MASQUERADE11、双网卡双外网实例:X------〉183.62.178.85:7001------〉158.250.56.154:7001------〉112.90.176.35:7001
iptables -t nat -A PREROUTING -d 183.62.178.85 -p tcp -m tcp --dport 7001 -j DNAT --to-destination 112.90.176.35:7001
iptables -t nat -A POSTROUTING -d 112.90.176.35 -p tcp -m tcp --dport 7001 -j SNAT --to-source 158.250.56.15412、常用命令:
--清空nat表PREROUTING链,谨慎操作
iptables -t nat -F PREROUTING
--清空nat表POSTROUTING链,谨慎操作
iptables -t nat -F POSTROUTING
--显示明细
iptables -t nat -nvL --line
--删除编号88
iptables -t nat -D PREROUTING 88
--保存
service iptables save 或/etc/sysconfig/iptables save
--重启iptables
service iptables restart13、配置完生成的文件
/etc/sysconfig/iptables #当前的配置
/etc/sysconfig/iptables.save #上次的配置备份14、telnet测试--添加静态路由---------------
15、双网卡双外网的情况下,不一定所有环境两个网卡都可以ping通,这主要取决于上层网络提供商的设置,一般用户控制改变不了的。只有设置了网关的网卡可以ping通,但却不影响使用。
如果只有一个能ping通的话,那就必须添加路由的方式来解决跳转的问题。
如果两个都可以ping通,虽跳转可以成功,但出口都默认只是设置的默认网关出口,相当于网络问题只解决了一半。16、环境说明:
eth0:IPADDR=183.62.178.85 GATEWAY=183.62.178.94 --电信网络
eth1:IPADDR=58.250.56.154 GATEWAY=58.250.56.1 --联通网络
目的访问:112.90.176.35:7001
测试路径:telnet 183.62.178.85 7001
路径说明:X------〉183.62.178.85:7001------〉158.250.56.154:7001------〉112.90.176.35:7001
设置的跳转命令如上面的11点17、路由添加:
路由添加:# route add -net 112.90.176.0 netmask 255.255.255.0 gw 58.250.56.1 eth1
或# route add -net 112.90.176.0/24 gw 58.250.56.1 eth1
删除路由:# route delete -net 112.90.176.0 netmask 255.255.255.0 gw 58.250.56.1 eth1
或# route delete -net 112.90.176.0/24 gw 58.250.56.1 eth118、假设默认网关是电信,且源地址或目的地址是能判断为联通的,那么就必须对这个联通的源地址或目的地址做如上的静态路由。19、重启机子后,路由会失效,故要把它加到/etc/rc.d/rc.local中,如果不小心重启了网卡,也会让路由失效,此时就得到/etc/rc.d/rc.local找到脚本再运行一下了。 Linux iptables 异机备份、恢复实例xmanager passive功能不能使用的问题相关资讯 IpTables
- CentOS Samba 服务器 Iptables 和 (今 07:14)
- iptables超全详解 (09月01日)
- Iptables防火墙 基础知识 (08月19日)
| - Iptables工作原理使用详解 (09月06日)
- iptables中NAT表 (08月25日)
- Linux 为FTP 服务器添加iptables规 (08月11日)
|
本文评论 查看全部评论 (0)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
- 本站管理人员有权保留或删除其管辖留言中的任意内容
|