Linux防火墙-netfilter应用

iptables filter表小案例 :

nat表应用

A机器两块网卡ens33(192.168.133.130)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联。

在做实验前,因为是使用的centos 7,所以咱们为了后期不必要的麻烦,一定要把firewalld关闭!!!
# systemctl disable firewalld :先停掉firewalld
# systemctl stop firewalld :关闭服务
# yum install -y iptables-services:安装服务
# systemctl enable iptables :先启用iptables
# systemctl start iptables :启动服务

需求1:可以让B机器连接外网

[[email protected]01 ~]# ifcfg ens37 192.168.100.1/24 
//快速给ens37配置IP地址
A机器上打开路由转发: echo "1">/proc/sys/net/ipv4/ip_forward
A上执行: iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

B上设置网关为:192.168.100.1

# route -n   //查看网关(默认没有任何网关)
# route add default gw 192.168.100.1  //设置默认网关
# vim /etc/resolv.conf //增加 ”nameserver 119.29.29.29“

注意:我在测试B机器ping 119.29.29.29的时候显示不可以ping通,最终查找问题发现是A机器之前设置的iptables 策略阻挡了。
使用 #iptables -F 清除A机器的策略即可!

需求2:B机器只能和A通信,让C机器可以直接连通B机器的22端口(端口映射)

A上打开路由转发:echo "1">/ proc/sys/net/ipv4/ip_forward

在执行下一步之前,我们一定要先清除之前设定的规则,以免影响。

A上执行:iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
//192.168.133.130是A机器的IP地址;PREROUTING把进来的包转发到192.168.100.100:22
A上执行:iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130
//从192.168.100.100回来的包转发到指定的机器
B上设置网关为:192.168.100.1

iptables限制syn攻击

原理,每5s内tcp三次握手大于20次的属于不正常访问。

iptables -A INPUT -s ! 192.168.0.0/255.255.255.0 -d 192.168.0.101 -p tcp -m tcp --dport 80 -m state --state NEW -m recent --set --name httpuser --rsource
iptables -A INPUT -m recent --update --seconds 5 --hitcount 20 --name httpuser --rsource -j DROP

其中192.168.0.0/255.255.255.0 为不受限制的网段, 192.168.0.101 为本机IP。 该iptables策略,可有效预防syn攻击,也可以有效防止机器人发垃圾帖。


iptables 针对一个网段限制

iptables -I INPUT -m iprange --src-range 61.4.176.0-61.4.191.255 -j DROP

iptables规则备份和恢复

# service iptables save //会把规则保存到/etc/sysconfig/iptables
把iptables规则备份到/tmp/my.ipt文件中
# iptables-save > /tmp/my.ipt
恢复刚才备份的规则
# iptables-restore < /tmp/my.ipt

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT笔记

SVN自动化部署全流程之架构之美

公司一直没有一个完善的部署流程,基本都是通过上线打包以后SSH手动拖拽部署项目。 当然网上也有现成的持续集成工具,比如jenkins。Jenkins是一个开源软...

42770
来自专栏知识分享

轻松使用ESP8266

自己做了一个轻松配置8266的板子,配合上位机很方便的就配置好8266的各种模式,上电自动运行上次配置的模式 而且多加了四路模拟量采集,5路IO口输出,,其中前...

51750
来自专栏漏斗社区

工具|NESSUS的高级扫描方法

开篇之时,斗哥就想问你一句,上周的NESSUS基础扫描任务的创建方法6不6 ?不知各位小伙伴们装进心窝了没?!这周斗哥经过深思熟虑,最终慎重决定将NESSUS的...

1.2K60
来自专栏Rainbond开源「容器云平台」

【技能】学会了它,你就可以轻松泡妹子了!

16540
来自专栏SDNLAB

OpenFlow的伴侣协议:OF-CONFIG

1 简介 在OpenFlow协议的规范中,控制器需要和配置好的交换机进行通信。而交换机在正常工作之前需要对其特性以及资源进行配置,才能正常工作。而这些配置超出了...

38550
来自专栏北京马哥教育

[干货]集群基础理论讲解|By黑白子童鞋

背景 随着互联网访问量的急剧增加,单台服务器的能力已严重不能满足需求。则需要从两个方面考虑提高服务能力:1、向上扩展,2、向外扩展 向上扩展的缺点: 1、造价高...

35790
来自专栏desperate633

TCP/IP之网络层服务网络层服务虚电路网络数据报网络数据报网络与虚电路网络的对比

网络层提供的服务是,主机与主机的数据传输。发送主机向接收主机发送数据段( segment)。首先,发送主机将来自传输层的数据段封装到数据报中,然后传输给接收主机...

10210
来自专栏散尽浮华

linux负载均衡总结性说明(四层负载/七层负载)

在常规运维工作中,经常会运用到负载均衡服务。负载均衡分为四层负载和七层负载,那么这两者之间有什么不同? 废话不多说,详解如下: 一,什么是负载均衡 1)负载均衡...

1K80
来自专栏博客园

MongoDB

   MongoDB时一个高性能,开源,无模式的文档型数据库,时当前NoSQL数据库中比较热门的一种。它在需要场景下可用于替代传统的关系型数据库或键/值存储方式

34620
来自专栏FreeBuf

【漏洞预警】Linux内核ipv4/udp.c 远程任意代码执行(CVE-2016-10229)

? 漏洞描述 Linux kernel是美国Linux基金会发布的操作系统Linux所使用的内核。Linux kernel 4.5之前的版本中的udp.c文件...

21460

扫码关注云+社区

领取腾讯云代金券