设为首页 收藏本站
查看: 1055|回复: 6

[经验分享] iptables系列之nat及其过滤功能

[复制链接]

尚未签到

发表于 2013-4-24 09:00:15 | 显示全部楼层 |阅读模式
NAT:Network Address Transfer,网络地址转换,将其中一块网卡所连接网络中主机的地址转换为另外一个网络中主机的地址。路由也可以实现将一个网络中的报文转换到另一个网络中去
应用场景为:
SNAT:源地址转换,转换IP报文中的源IP地址
DNAT:目标地址转换,转换IP报文中的目标IP地址
下面介绍一下通过路由来实现各主机之间如何实现报文转发的
6617089_1366694406do1i.jpg

实例剖析:
准备三台虚拟机,其中一台主机假设为C主机(路由),有两块网卡,第一块网卡设置为桥接,第二块设置为host-only
其中一台主机假设为A主机,网卡设置为桥接,另一台主机假设为B主机,网卡设置为host-only
C主机两块网卡的IP分别为:172.16.50.10;192.168.10.1
B主机IP为:172.16.50.5 网关:172.16.50.10
A主机IP为:192.168.10.2 网关:192.168.10.1
1、首先在B主机上能ping通自己的网关192.168.10.1
6617089_1366694417q525.jpg
2、打开C主机的数据转发功能(修改配置文件,可以永久有效)
[iyunv@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[iyunv@localhost ~]# sysctl -p 直接生效
现在A主机可以ping通B主机
6617089_1366694420yVsQ.jpg
B主机可以ping通A主机
6617089_1366694425j7P6.jpg
3、此时我们可以发现即使没用到地址转换也可以实现数据转发,下面我们用图来分析一下
6617089_1366694435FgOw.jpg
4、源地址转换SNAT--》(应该在路由之后实现,也即是上图上进入2号端口之前)如果A主机不通过路由就可以和B主机通信,该如何实现
可以通过抓包来验证源Ip(用A主机pingB主机)
# tcpdump -i eth0 -nn -X icmp
6617089_13666944405lb7.jpg
因为没有做地址转换,由A主机出发又返回给了A
需要在C主机上配置NAT条目,实现源地址转换(SNAT)
# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.50.10
6617089_1366694444e5xb.jpg
用A主机pingB主机,查看源地址(会发现源地址是50.10)
6617089_1366694451wB15.jpg
此时会发现B主机即使没有设置网关也能与A主机通信
删除B主机的网关
6617089_1366694455zojD.jpg
用B主机pingA主机,并在B主机上抓包
6617089_1366694461gXMj.jpg
这就是源地址转换(注意此时B主机是不能pingA主机的,因为他没有网关,只能发不能收)
5、对于C主机而言,如果他不允许A主机pingB主机,但可以进行其他通信
添加模块:切记
# vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"
在C主机上添加如下规则
# iptables -P FORWARD DROP(先添加FORWARD默认规则为DROP)
# iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT(放行已建立的链接)
# iptables -A FORWARD -s 192.168.10.0/24 -p tcp --dport 80 -m state --state NEW -j ACCEPT(放行80端口的新连接)
# iptables -A FORWARD -s 192.168.10.0/24 -p icmp -j REJECT
A主机pingB主机
6617089_1366694464S9DW.jpg
但并不影响其他功能的实现(web、ftp等功能)
首先需要在B主机上安装httpd包和vsftpd包
[iyunv@localhost ~]# yum install -y httpd vsftpd
[iyunv@localhost ~]# echo hello uaser > /var/www/html/index.html(主页面)
[iyunv@localhost ~]# service httpd start(启动服务)
在A主机上访问B主机的web服务器
6617089_1366694471L229.jpg
6、如果放行ping功能
在C主机添加如下规则
# iptables -A FORWARD -s 192.168.10.0/24 -p icmp --icmp-type 8 -m state --state NEW -j ACCEPT(只允许内网的新请求)
A主机pingB主机
6617089_13666944794yMB.jpg
内网可以请求别人,外网可以回复别人,但外网不能请求进来(防火墙不允许外网访问内网)
如果给A添加网关,看能否ping通B主机
# route add default gw 172.16.50.10(添加网关)
6617089_1366694483TPgT.jpg
# service vsftpd start 启动ftp服务器
在C主机上添加规则:
# iptables -A FORWARD -s 192.168.10.0/24 -p tcp --dport 21 -m state --state NEW -j ACCEPT(放行21号端口
修改FORWARD默认规则为:
# iptables -R FORWARD 1 -m state --state ESTABLISHED,RELATED -j ACCEPT
B主机访问A主机的ftp服务
6617089_1366694491gG1F.jpg
7、DNAT目标地址转换,应该在路由之前转换,即过程2的时候就要转换
DNAT地址转换图
6617089_1366694509viMb.jpg
现在我们将A主机与B主机做一下调整
把A主机的设置为桥接,B主机的设置为host-only
A主机的IP是172.16.50.5 网关172.16.50.10
B主机的Ip地址是192.168.10.2 网关:192.168.10.1
7.1、将源地址转换删除并清空
# iptables -t nat -F
# iptables -F
# iptables -P FORWARD ACCEPT
7.2、AB主机互ping能否成功
A ping B
6617089_1366694516vvpR.jpg
B ping A
6617089_136669452023Ri.jpg
7.3、A主机访问B主机的web服务器
http://192.168.10.2
6617089_1366694524t7Mx.jpg
访问ftp
6617089_1366694532mm4J.jpg
7.4、如果B主机没有指定网关,就不能访问A主机,需要在C主机上定义规则
# iptables -t nat -A PREROUTING -d 172.16.50.10 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.2
7.5、如果我们的虚拟主机监听的是8080端口,也可以修改为8080端口
PNAT:端口映射Port NAT
# iptables -t nat -R PREROUTING 1 -d 172.16.50.10 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.2:8080
8、过滤功能
在C主机上添加规则(FORWARD链上添加)
假设不能访问h7n9的字符串
# echo h7n9 hello > /var/www/html/index.html 新建网页
# iptables -A FORWARD -m string --algo kmp --string "h7n9" -j DROP
此时在访问http://172.16.50.10,就不能访问了
6617089_1366694537a6ja.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-5426-1-1.html 上篇帖子: centos下安装无线网卡inter 5100/5300/5350(iwlagn) 下篇帖子: 详解linux netstat输出的网络连接状态信息 过滤

尚未签到

发表于 2013-4-24 09:54:03 | 显示全部楼层
比我有才的都没我帅,比我帅的都没我有才!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-23 10:07:45 | 显示全部楼层
这是什么东东啊

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-6 17:00:48 | 显示全部楼层
我不在江湖,但江湖中有我的传说。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-20 16:23:46 | 显示全部楼层
饭在锅里,我在床上*^_^*

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-28 09:46:43 | 显示全部楼层
与时俱进,你我共赴高潮!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

发表于 2013-8-20 06:17:02 | 显示全部楼层
长得真有创意,活得真有勇气!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表