Linux(CentOS)下,DNAT和SNAT(分享IP)
来源:互联网 发布:淘宝刷粉丝 编辑:程序博客网 时间:2024/05/25 21:35
我有两台服务器:
前端服务器A,它具备外网地址(115.238.54.116),也有内网地址(192.168.0.2);
后端服务器B,它没有外网地址,只具备内网地址(192.168.0.3)。
通过设置DNAT,可以实现内网服务器供Internet访问。
通过设置SNAT,可以实现内网主机访问Internet。
查看防火墙的详细配置,可参考《防火墙iptables配置》。
直接修改iptables的配置文件:vi /etc/sysconfig/iptables
填入如下内容后,用命令(# service iptables restart)使得设置生效。
#iptables有3个表(filter,nat,mangle)#这里只配置filter和nat,mangle一般不用。#filter过滤表的配置(它包含:INPUT,FORWARD,OUTPUT)*filter#接收(INPUT)的默认策略是丢弃(DROP):INPUT DROP [9650160:4545407604]#接收所有本机的请求-A INPUT -i lo -j ACCEPT #接所有ICMP的请求(PING)-A INPUT -p icmp -j ACCEPT #接收所有已经建立了链接的请求-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT#允许远程链接(SSH,PostgreSQL,MySQL,Tomcat,Nginx等,以及自定义服务)-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 54104 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT#拒绝其他所有请求,告诉它主机禁止访问-A INPUT -j REJECT --reject-with icmp-host-prohibited#转发(FORWARD)的默认策略是接受(ACCEPT):FORWARD ACCEPT [2068743:358404333]#转发所有已经建立了链接的请求-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT#允许远程链接(SSH,MySQL等)控制其背后的内网服务器-A FORWARD -m state --state NEW -m tcp -p tcp --dport 50022 -j ACCEPT-A FORWARD -m state --state NEW -m tcp -p tcp --dport 53306 -j ACCEPT-A FORWARD -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT-A FORWARD -m state --state NEW -s 192.168.0.0/24 -j ACCEPT-A FORWARD -m state --state NEW -d 192.168.0.0/24 -j ACCEPT#拒绝其他所有转发,告诉它主机禁止访问-A FORWARD -j REJECT --reject-with icmp-host-prohibited#发送(OUTPUT)的默认策略是接受(ACCEPT):OUTPUT ACCEPT [9988047:5993618714]COMMIT#nat表的默认配置(它包含:PREROUTING,POSTROUTING,OUTPUT)*nat#前置路由(PREROUTING)的默认策略是接受(ACCEPT):PREROUTING ACCEPT [683:42497]#DNAT设置,允许远程链接(SSH,MySQL等)控制其背后的内网服务器-A PREROUTING -i em1 -p tcp -m tcp --dport 50022 -j DNAT --to-destination 192.168.0.3 -A PREROUTING -i em1 -p tcp -m tcp --dport 53306 -j DNAT --to-destination 192.168.0.3:3306 -A PREROUTING -i em1 -p tcp -m tcp --dport 3306 -j DNAT --to-destination 192.168.0.3-A PREROUTING -i em1 -p tcp -m tcp --dport 8090 -j REDIRECT --to-ports 8080#后置路由(PREROUTING)的默认策略是接受(ACCEPT):POSTROUTING ACCEPT [1:52]#SNAT设置,分享公网IP,其背后的内网主机,也可以访问外网#-A POSTROUTING -o em1 -j SNAT --to-source 115.238.54.116-A POSTROUTING -s 192.168.0.0/24 -o em1 -j MASQUERADE#发送(OUTPUT)的默认策略是接受(ACCEPT):OUTPUT ACCEPT [63:3772]COMMIT
1 0
- Linux(CentOS)下,DNAT和SNAT(分享IP)
- Linux-SNAT和DNAT
- Linux里的防火墙(中):使用iptables实现DNAT和SNAT
- linux防火墙中的snat和dnat
- Linux中部署SNAT和DNAT
- SNAT和DNAT
- ipatbles DNAT 和SNAT
- SNAT和DNAT
- SNAT和DNAT的区别
- NAT之SNAT和DNAT
- Netfilter之DNAT和SNAT
- SNAT和DNAT的区别
- SNAT和DNAT的区别
- iptables的DNAT和SNAT
- SNAT和DNAT的区别
- PREROUTING 和 POSTROUTING, SNAT 和 DNAT图文解析(非常清淅)
- PREROUTING 和 POSTROUTING, SNAT 和 DNAT图文解析(非常清淅)
- DNAT & SNAT
- 黑马程序员--黑马程序员CEO方立勋致全体员工和同学们的公开信
- uva 110
- java中各种对象转换为JSON
- Codeforces Round #262 (Div. 2)解题报告
- hdu4968(矩阵快速幂)
- Linux(CentOS)下,DNAT和SNAT(分享IP)
- cas logout代码细节
- BOA 移植
- codeforce 460B Little Dima and Equation
- 《计算机网络》读后感--IP
- java高新技术--反射知识简叙----黑马程序员
- Android的SD卡插拔广播
- visual studio 2010 中VC++自定义项目模板
- Orange数据格式