文档章节

Linux常用命令及组件:iptables简单应用

P
 PACIDC
发布于 2015/11/05 10:28
字数 711
阅读 11
收藏 0
  • 安装软件

我们购买的VPS,一般都已经预装iptables,可以先检查下iptables状态,确认是否安装.

service iptables status

若提示为iptables:unrecognized service,则需要安装.

yum install iptables #CentOS系统

apt-get install iptables#Debian系统

  • 配置规则

以下命令以CentOS为例.

安装好的iptables配置文件在/etc/sysconfig/iptables,默认的iptables我们可以无视之,采用下面的命令,清除默认规则.

iptables –F

iptables –X

iptables –Z

以下是一个简单的规则:

允许本地回环接口(即运行本机访问本机)

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

允许已建立的或相关连的通行

iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

允许所有本机向外的访问

iptables -A OUTPUT -j ACCEPT

允许访问22端口

iptables -A INPUT -p tcp –dport 22 -j ACCEPT

允许访问80端口

iptables -A INPUT -p tcp –dport 80 -j ACCEPT

允许FTP服务的21和20端口

iptables -A INPUT -p tcp –dport 21 -j ACCEPT

iptables -A INPUT -p tcp –dport 20 -j ACCEPT

如果有其他端口的话,规则也类似,稍微修改上述语句就行

禁止其他未允许的规则访问

iptables -A INPUT -j REJECT(注意:如果22端口未加入允许规则,SSH链接会直接断开。)

iptables -A FORWARD -j REJECT

如果还有需要开启的端口,可以在上面添加,然后,保存规则并重启。

service iptables save#保存

或者/etc/rc.d/init.d/iptables save

service iptables restart#重启

在写到iptalbes规则的时候,我这里列出可能涉及的其他规则,譬如禁止单个IP:

-A INPUT -s 1.2.3.4 -j DROP

  • 查询修改及删除

iptables -L –n#查询规则

iptables -L -n --line-numbers#将规则按数字序号显示方便删除

iptables -D INPUT 4#删除第四条规则

  • 设定开机启动

chkconfig iptables on

  • 其他规则

以下部分规则,大家可以做些参考.

打开 syncookie (轻量级预防 DOS 攻击)

sysctl -w net.ipv4.tcp_syncookies=1 &>/dev/null

设置默认 TCP 连接痴呆时长为 3800 秒(此选项可以大大降低连接数)

sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=3800 &>/dev/null

设置支持最大连接树为 30W(这个根据内存和 iptables 版本来,每个 connection 需要 300 多个字节)

sysctl -w net.ipv4.ip_conntrack_max=300000 &>/dev/null

防止SYN攻击 轻量

iptables -N syn-flood

iptables -A INPUT -p tcp –syn -j syn-flood

iptables -A syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURN

iptables -A syn-flood -j REJECT

对于不管来自哪里的ip碎片都进行控制,允许每秒通过100个碎片

iptables -A FORWARD -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT

icmp包通过的控制,防止icmp黑客攻击

iptables -A FORWARD -p icmp -m limit –limit 1/s –limit-burst 10 -j ACCEPT

丢弃坏的TCP包

iptables -A FORWARD -p TCP ! –syn -m state –state NEW -j LOG –log-prefix “New not syn:”

iptables -A FORWARD -p TCP ! –syn -m state –state NEW -j DROP


© 著作权归作者所有

共有 人打赏支持
P
粉丝 0
博文 15
码字总数 9990
作品 0
武汉
私信 提问
Linux 下的(防火墙)iptables

Linux上的常用的包过滤防火墙叫netfilter,是集成在内核上的,是使用iptables命令对它进行配置管理。 防火墙在做信息包过滤的时候,遵循一套规则,这些规则是存放在专用的信息过滤表中,而这...

巴利奇
2016/02/26
0
0
如何使用netfilter/iptables构建防火墙

对于Internet上的系统,不管是什么情况都要明确一点:网络是不安全的。因此,虽然创建一 个防火墙并不能保证系统100%安全,但却是绝对必要的。Linux提供了一个非常优秀的防火墙工具—netfi...

水牛叔叔
2012/10/23
0
1
iptables入门的第一步!使用netfilter/iptables构建防火墙(转!)

(转注:这篇文章全面而深入的介绍了linux下iptables的使用!强烈推荐) 对于Internet上的系统,不管是什么情况都要明确一点:网络是不安全的。因此,虽然创建一个防火墙并不能保证系统100%安全...

范堡
2009/05/05
488
0
在嵌入式Linux中实现802.11b无线网关

构成有线 网络的传输媒介主要依赖铜缆或光缆;但有线网络在某些场合要受到布线的限制,特别是当要把相隔较远的节点连接起来时,敷设专用通信线路的布线施工难度大、 费用高、耗时长,对正在迅...

freecamel
2012/06/07
0
0
ubuntu下防火墙端口号的设置

ubuntu下防火墙端口号的设置 iptables是linux下的防火墙,同时也是服务名称。 关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。 再用命令 iptables -L -n 查看 是否设置好 还要使用 serv...

langb2014
04/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

错误: 找不到或无法加载主类

在IDEA的使用过程中,经常断掉服务或者重启服务,最近断掉服务重启时突然遇到了一个启动报错: 错误:找不到或无法加载主类 猜测:1,未能成功编译; 尝试:菜单---》Build---》Rebuild Pro...

安小乐
12分钟前
1
0
vue路由传参,刷新页面,引发的bug

最近遇到一个bug 通过vue路由跳转到页面, 然后接参控制(v-if ),成功显示 而刷新页面,显示失败。 苦苦地找了半天原因,打印参数发现正确,再打印下类型......,路由跳过来会保持传参时的...

hanbb
12分钟前
0
0
【58沈剑 架构师之路】InnoDB,select为啥会阻塞insert?

MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。 一,Inn...

张锦飞
15分钟前
0
0
冒泡,选择和插入排序比较

/** * 冒泡排序,两层嵌套循环,内层局部比较后,找出最大或者最小数据并交换数据,使其局部有序,外层用于比较剩余元素,相较于选择排序,选择排序相当于是冒泡的一个优化版本(减少了交换...

strict_nerd
16分钟前
0
0
html内联(行内)元素、块级(块状)元素和行内块元素分类

HTML可以将元素分类方式分为内联(行内)元素、块级(块状)元素和行内块元素三种。 注:HTML是标签语言,那么既然是标签,就可以自己定义一些自己元素(如<wode>自定义的元素</wode>等),自...

NB-One
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部