基础命令 ·

linux下实用iptables一些常见命令

iptables命令可用于配置Linux的包过滤规则,常用于实现防火墙、NAT。咋一看iptables的配置很复杂,掌握规律后,其实用iptables完成指定任务并不难,下面我们通过具体实例,学习iptables的详细用法。

1. 删除已有规则

在新设定iptables规则时,我们一般先确保旧规则被清除,用以下命令清除旧规则:

2. 设置chain策略

对于filter table,默认的chain策略为ACCEPT,我们可以通过以下命令修改chain的策略:

以上命令配置将接收、转发和发出包均丢弃,施行比较严格的包管理。由于接收和发包均被设置为丢弃,当进一步配置其他规则的时候,需要注意针对INPUT和OUTPUT分别配置。当然,如果信任本机器往外发包,以上第三条规则可不必配置。

3. 屏蔽指定ip

有时候我们发现某个ip不停的往服务器发包,这时我们可以使用以下命令,将指定ip发来的包丢弃:

以上命令设置将由x.x.x.x ip发往eth0网口的tcp包丢弃。

4. 配置服务项

利用iptables,我们可以对日常用到的服务项进行安全管理,比如设定只能通过指定网段、由指定网口通过SSH连接本机:

若要支持由本机通过SSH连接其他机器,由于在本机端口建立连接,因而还需要设置以下规则:

类似的,对于HTTP/HTTPS(80/443)、pop3(110)、rsync(873)、MySQL(3306)等基于tcp连接的服务,也可以参照上述命令配置。

对于基于udp的dns服务,使用以下命令开启端口服务:

5. 网口转发配置

对于用作防火墙或网关的服务器,一个网口连接到公网,其他网口的包转发到该网口实现内网向公网通信,假设eth0连接内网,eth1连接公网,配置规则如下:

6. 端口转发配置

对于端口,我们也可以运用iptables完成转发配置:

以上命令将422端口的包转发到22端口,因而通过422端口也可进行SSH连接,当然对于422端口,我们也需要像以上“4.配置服务项”一节一样,配置其支持连接建立的规则。

7. DoS攻击防范

利用扩展模块limit,我们还可以配置iptables规则,实现DoS攻击防范:

–litmit 25/minute 指示每分钟限制最大连接数为25

–litmit-burst 100 指示当总连接数超过100时,启动 litmit/minute 限制

8. 配置web流量均衡

我们可以将一台服务器作为前端服务器,利用iptables进行流量分发,配置方法如下:

以上配置规则用到nth扩展模块,将80端口的流量均衡到三台服务器。

9. 将丢弃包情况记入日志

使用LOG目标和syslog服务,我们可以记录某协议某端口下的收发包情况。拿记录丢包情况举例,可以通过以下方式实现。

首先自定义一个chain:

其次将所有接收包导入LOGGING chain中:

然后设置日志前缀、日志级别:

最后将包倒向DROP,将包丢弃:

另可以配置syslog.conf文件,指定iptables的日志输出

9. 封单个IP的命令是

10. 封IP段的命令是

11. 封整个段的命令是

12. 封几个段的命令是

想在服务器启动自运行的话有三个方法:
1、把它加到/etc/rc.local中
2、iptables-save >/etc/sysconfig/iptabbes可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时自动执行。
3、service iptables save 也可以把你当前的iptables规则放/etc/sysconfig/iptables中,系统启动iptables时#自动执行。
后两种更好此,一般iptables服务会在network服务之前启来,更安全。

关注运维天涯微信、新浪微博

评论已关闭