防火墙配置实例

linux查看连接本机的IP

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

放通IP地址序列

-A INPUT -p tcp -m iprange --src-range 131.121.132.176-131.121.132.204 -m tcp --dport 22 -j ACCEPT

##端口转发80端口转发至8080

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

#先删除旧的规则

iptables -t nat-DPREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

#再添加新的规则

iptables -t nat -APREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8003

##查看当前所有端口

netstat -ntlp

##防火墙配置文件位置

/etc/sysconfig/iptables

##查看防火墙状态

service iptables status

##防火墙操作

##关闭防火墙,重启后失效

service iptables stop

##开启防火墙,重启后失效

service iptables start

##关闭防火墙,重启后生效

chkconfig iptables off

##开启防火墙,重启后生效

chkconfig iptables on

########防火墙配置步骤,不能变动以防连接不到

##定时5分钟关闭防火墙,防止设置错误,导致无法进行ssh登陆

*/5 * * * * /etc/init.d/iptables stop 

我们先添加两条规则

##添加一个开放端口22的输入流的规则

##添加一个开放端口22的输出流的规则

## 本机发出的数据包要能接收

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

##SSH访问

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

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

##ftp访问

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

iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT

##web访问

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

iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

##orgsync-8082

iptables -A INPUT -p tcp --dport 8082 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 8082 -j ACCEPT

##timer8066_8

iptables -A INPUT -p tcp --dport 8066 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 8066 -j ACCEPT

##urms8021

iptables -A INPUT -p tcp --dport 8021 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 8021 -j ACCEPT

##wfcsvc8011

iptables -A INPUT -p tcp --dport 8011 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 8011 -j ACCEPT

##FTP端口号9021

iptables -A INPUT -p tcp --dport 9021 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 9021 -j ACCEPT

-A INPUT -s 132.121.152.99 -p tcp --dport 9021 -j ACCEPT

-A OUTPUT -s 132.121.152.99 -p tcp --sport 9021 -j ACCEPT

##oracle1521端口

iptables -A INPUT -p tcp --dport 1521 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 1521 -j ACCEPT

##再加入禁用规则

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP

##规则保存(写入)到防火墙里面

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

##禁用端口

iptables -A INPUT -p tcp --dport 49018 -jDROP

iptables -A OUTPUT -p tcp --sport 49018 -jDROP

##删除规则

iptables-DINPUT -p tcp --dport 5001 -j ACCEPT

iptables-DOUTPUT -p tcp --sport 5001 -j ACCEPT

iptables-DINPUT -p tcp --dport 5001 -j DROP

iptables-DOUTPUT -p tcp --sport 5001 -j DROP

##查看防火墙规则--列出行号

iptables -nL --line-number

##根据行号删除规则

##删除第二行规则

[root@test ~]# iptables -DINPUT2

iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网络] [-d 目标IP/网络] -j [ACCEPT|DROP|REGECT|LOG]

-AI 链名:针对某条链进行规则的"累加"或者"插入"

-A:新增加一条规则,该规则增加在原有规则的最后面。

-I:插入一条规则。如果没有指定次规则的顺序,默认是插入变成第一条规则。

链:有INPUT、OUTPUT、FORWARD等,次链名称又与 -io有关,请看下面

-io网络接口:设置数据包进出的接口规范

-i:数据包所进入的那个网络接口,例如 eth0、lo等接口。需要与 INPUT链配合

-o:数据包所传出的那个网络接口,需要与OUTPTU链配合

-p 协定:设置此规则适用于那种数据包格式

主要的数据包格式有:tcp、udp、icmp以及all

-s 来源 IP/网络:设置次规则的数据包来源地,可指定单纯的IP或者网络,例如:

IP:192.168.0.100

网络:192.168.0.0/24、192.168.0.0/255.255.255.0 均可

若规范为"不许"时,则加上”!“即可

-d 目标 IP/网络:同 -s 只是这里指的是目标的IP或者网络

-j :后面接操作,主要的操作有ACCEPT,DROP,REJECT,LOG

iptables -A INPUT -i -p tcp -s 192.168.0.100(! 192.168.0.100) -j ACCEPT;来自192.168.0.100的tcp协议的数据包都接受

--sport 端口范围:限制来源的端口号码,端口号码可以是连续的,例如:1024:1100

--dport 端口范围:限制目标的端口号码

注意:仅有tcp和udp的数据包才有端口

iptables -A INPUT -i -p tcp  -s 192.168.0.100(! 192.168.0.100) --dport 22 -j ACCEPT

iptables -A INPUT -i -p tcp  -s 192.168.0.100(! 192.168.0.100) --dport ssh -j ACCEPT

本机发出的数据包要能接收

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

iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网络] [-d 目标IP/网络] -j [ACCEPT|DROP|REGECT|LOG]

-AI 链名:针对某条链进行规则的"累加"或者"插入"

-A:新增加一条规则,该规则增加在原有规则的最后面。

-I:插入一条规则。如果没有指定次规则的顺序,默认是插入变成第一条规则。

链:有INPUT、OUTPUT、FORWARD等,次链名称又与 -io有关,请看下面

-io网络接口:设置数据包进出的接口规范

-i:数据包所进入的那个网络接口,例如 eth0、lo等接口。需要与 INPUT链配合

-o:数据包所传出的那个网络接口,需要与OUTPTU链配合

-p 协定:设置此规则适用于那种数据包格式

主要的数据包格式有:tcp、udp、icmp以及all

-s 来源 IP/网络:设置次规则的数据包来源地,可指定单纯的IP或者网络,例如:

IP:192.168.0.100

网络:192.168.0.0/24、192.168.0.0/255.255.255.0 均可

若规范为"不许"时,则加上”!“即可

-d 目标 IP/网络:同 -s 只是这里指的是目标的IP或者网络

-j :后面接操作,主要的操作有ACCEPT,DROP,REJECT,LOG

iptables -A INPUT -i -p tcp -s 192.168.0.100(! 192.168.0.100) -j ACCEPT;来自192.168.0.100的tcp协议的数据包都接受

--sport 端口范围:限制来源的端口号码,端口号码可以是连续的,例如:1024:1100

--dport 端口范围:限制目标的端口号码

注意:仅有tcp和udp的数据包才有端口

iptables -A INPUT -i -p tcp  -s 192.168.0.100(! 192.168.0.100) --dport 22 -j ACCEPT

iptables -A INPUT -i -p tcp  -s 192.168.0.100(! 192.168.0.100) --dport ssh -j ACCEPT

本机发出的数据包要能接收

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

举个例子

# 177防火墙实例

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

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

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

#只允许指定ip、地址段访问22端口

-A INPUT -s 132.121.152.99 -p tcp --dport 22 -j ACCEPT

-A INPUT -m iprange --src-range 131.121.132.176-131.121.132.204 -p tcp --dport 22 -j ACCEPT

#只允许指定ip访问1521端口

-A INPUT -s 132.121.88.174 -p tcp --dport 1521 -j ACCEPT

-A INPUT -s 132.121.152.99 -p tcp --dport 1521 -j ACCEPT

#只允许指定ip访问9021端口

-A INPUT -s 132.121.152.99 -p tcp --dport 9021 -j ACCEPT

#允许所有新连接访问22端口

#-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

#-A INPUT -m state --state NEW -m tcp -p tcp --dport 9021 -j ACCEPT

#都不匹配全部请求丢弃

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容