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
网友评论