iptables 防火墙

简介:

 

iptables 防火墙


iptables 文件所在位置: /etc/sysconfig/iptables

 

开启/关闭iptables :  

 

1、service iptables start/stop

2、setup-firewall configure-enabled/disabled

 

开启服务器80端口:

 

# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

 

同时开启多个端口:

 

# iptables -I INPUT -p tcp -m multiport --dport 20,21,22,25,53,80,110,143,3306 -j ACCEPT

 

 

拒绝所有端口访问:

 

# iptables -A INPUT -p tcp -j REJECT

 

 iptables策略规则是由上而下

 

iptables配置文件示例:

 

# vi /etc/sysconfig/iptables

 

*filter

:INPUT ACCEPT [8:941]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:RH-Firewall-1-INPUT - [0:0]

-A INPUT -p tcp -m  multiport --dport 20,21,22,25,53,80,110,143,3306 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-port-unreachable

-A OUTPUT -j ACCEPT

COMMIT

 

:wq

 

 

iptables 开启scp服务:(默认是不开启的)
 
# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
  
注:iptables中允许的服务(端口)要写在拒绝的上面,可进/etc/sysconfig/iptables里自行调整。
 
 

- A:在指定链的末尾添加一条新的规则

- D:删除指定链中的某一条规则

- I:在指定链中插入一条新规则(默认在开头)

- R:修改、替换规则

- L:查看指定链中的所有规则

- F:清空指定链中的所有规则

- N:新建一条用户自定义的规则链

- X:删除指定表中用户自定义的规则链

- P:设置指定链的默认策略

- n:使用数字形式显示输出结果

- v:查看规则列表时显示详细信息

- V:查看iptables命令工具的版本信息

- h:查看命令帮助信息


--line-numbers:查看规则表时,显示规则在链中的顺序号

 


规则表: filter表(过滤)            nat表(nat)


         mangle表(标记)            raw表(跟踪)

 


规则链: INPUT链 、   OUTPUT链  、  FORWARD链

  
         PREROUTING链  、  POSTROUTING链

 


# iptables - t filter - A INPUT - p tcp - j ACCEPT

# iptables - I INPUT - p udp - j ACCEPT (默认为filter表)

# iptables - I INPUT 2 - p icmp - j ACCEPT (作为第2条规则)

 

查看filter表INPUT链中的所有规则,并显示顺序号:

# iptables - L INPUT --line-numbers

 

查看filter表各链中所有规则的详细信息(以数字形式):

# iptables -vnL

 

删除nat表INPUT链中的第2条规则:

# iptables -t nat -D INPUT 2


清空mangle表各链中的所有规则:

iptables - t mangle - F


ACCEPT (允许)         DROP(丢弃)        REJECT(拒绝)

 

将filter表中FORWARD规则链的默认策略设为DROP:

# iptables - t filter - P(大写)  FORWARD DROP

 

查看iptables命令中关于icmp协议的帮助信息:

# iptables - p icmp - h


在raw表中新增一条自定义规则链TCP_PACKETS:

# iptables  - t raw  - N  TCP_PACKETS

 


# iptables - t raw - L

# ipatbles - t raw - X

# iptables - I INPUT - p icmp - j REJECT


# iptables - A FORWARD - p ! icmp - j ACCEPT             (!意为除了)


# iptables - A FORWARD - s 192.168.1.11 - j REJECT

# iptables - A FORWARD - s 192.168.0.0/24 - j REJECT

 

- i  eth0   (进的端口)

- o  eth1   (出的端口)

 


# iptables - A INPUT - i eth1 - s 192.168.0.0/16  - j DROP


设置在2个小时后删除规则:


# at now + 2 hours

> iptables - D INPUT 1

 

--sport   源端口           --dport目标端口

 

 

 

 

允许管理员从202.13.0.0/16网段使用ssh方式远程登录:


# iptables - A INPUT - p tcp --dport 22 - S 202.13.0.0/16 - j ACCEPT

 

允许本机开放从TCP端口20~1024提供的应用服务:

# iptables - A INPUT - p tcp --dport 20:1024 - j ACCEPT

# iptables - A OUTPUT - p tcp --sport 20:1024 - j ACCEPT

 


# iptables - A FORWARD - s 192.168.0.0/24 - p udp --dport 53 - j ACCEPT  (53为DNS端口)

# iptables - A FORWARD - d 192.168.0.0/24 - p udp --sport 53 - j ACCEPT

 


拒绝从外网接口(eth1)直接访问防火墙本机的数据包,但是允许响应防火墙TCP请求的数据包进入:


# iptables - p INPUT DROP

# iptables - I INPUT - i eth1 - p tcp --tcp-flags SYN,RST,ACK  SYN  - j REJECT

# iptables - I INPUT - i eth1 - p tcp --tcp-flags ! --syn - j ACCEPT

 

禁止其他主机ping防火墙,但允许从防火墙上ping其他主机:

# iptables - A INPUT - p icmp --icmp-type Echo-Request - j DROP

# iptables - A INPUT - p icmp --icmp-type Echo-Reply - j ACCEPT

# iptables - A INPUT - p icmp --icmp-type destination-Unreachable - j ACCEPT

 

# iptables - A FORWARD - m mac --mac-source 00:0c:29:27:55:3F - j DROP


# iptables - A INPUT - p tcp - m multiport --dport 20,21,25,110,1250:1280 - j ACCEPT


# iptables - A FORWARD - p tcp - m iprange --src-range 192.168.1.20-192.168.1.99 - j DROP

 

# iptables - A FORWARD - m state --state NEW - p tcp ! --syn - j DROP


# ipatbles - A INPUT - p tcp - m state --state RELATED,ESTABLISHED - j ACCEPT

 

LOG是在/var/log/messages中记录日志信息,然后将数据包给下一个规则:

# iptables - I INPUT - p tcp --dprot 22 - j LOG


# iptables - R INPUT 1 tcp --dport 22 - m limit --limit 3/minute  --limit-burst 8 - j LOG


# iptables - t filter - N mylan1

# iptables - A FORWARD -s 192.168.1.0/24  - j mylan1

# iptables - A mylan1 - p icmp - j DROP

 


iptables-save(保存)             iptables-restore(恢复)

 


# iptables-save  > /etc/sysconfig/iptables

# service iptables restart

# iptables-restore < /etc/sysconfig/iptables

 

 

开启路由转发功能:


# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1


# sysctl - p

本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/834591如需转载请自行联系原作者


yangzhimingg

相关文章
|
7月前
|
安全 Linux 网络安全
百度搜索:蓝易云【linux iptables安全技术与防火墙】
请注意,iptables的具体使用方法和配置选项可能会有所不同,取决于Linux发行版和版本。管理员应该参考相关文档和资源,以了解适用于其特定环境的最佳实践和配置方法。
468 0
百度搜索:蓝易云【linux iptables安全技术与防火墙】
|
8月前
|
安全 Linux 网络安全
在Linux中,如何列出和删除 Iptables 防火墙规则?
在Linux中,如何列出和删除 Iptables 防火墙规则?
448 0
|
7月前
|
网络协议 Linux 网络安全
小白也能看懂的 iptables 防火墙
iptables是Linux中功能最为强大的防火墙软件之一 是一个在 Linux 系统上常用的防火墙工具,用于配置和管理网络数据包过滤规则。它可以通过定义规则集来控制进出系统的网络流量,实现网络安全策略
259 5
|
8月前
|
安全 Linux 网络安全
百度搜索:蓝易云【服务器安全设置Centos7 防火墙firewall与iptables】
CentOS 7使用的默认防火墙是firewall,它是一种基于Netfilter的用户空间工具,用于管理Linux内核中的iptables规则。为了加强服务器的安全性,可以通过配置CentOS 7防火墙和iptables规则来保护服务器。
108 0
|
5月前
|
网络协议 Linux 网络安全
Centos7中如何打开和关闭防火墙??CentOS 7以上默认使用firewall作为防火墙改为iptables
Centos7中如何打开和关闭防火墙??CentOS 7以上默认使用firewall作为防火墙改为iptables
|
5月前
|
存储 网络协议 Linux
Linux加强篇008-使用Iptables与Firewalld防火墙
山重水复疑无路,柳暗花明又一村
337 0
Linux加强篇008-使用Iptables与Firewalld防火墙
|
5月前
|
Linux 网络安全
CentOS7下操作iptables防火墙和firewalld防火墙
CentOS7下操作iptables防火墙和firewalld防火墙
110 3
|
6月前
|
网络协议 网络安全 开发工具
iptables和防火墙1
iptables和防火墙1
27 0
|
7月前
|
Ubuntu 网络协议 Linux
Linux: FirewallD和Iptables防火墙 使用
Linux: FirewallD和Iptables防火墙 使用
105 0
|
8月前
|
Linux 网络安全
百度搜索:蓝易云【Linux系统iptables与Firewalld防火墙区别?】
需要注意的是,iptables和Firewalld并不是完全互斥的,实际上Firewalld在内部仍然使用iptables来实现防火墙功能。Firewalld提供了更高级的管理接口和易用性,尤其适用于动态环境下的配置管理。而在一些特定的情况下,仍然可以直接使用iptables来进行更精细的配置和控制。
97 0