[linux]防火墙配置

linux防火墙配置

second60  20181030

 

1.配置文件

路径: /etc/sysconfig/iptables

内容:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter

# 该规则表示INPUT表默认策略是ACCEPT
:INPUT ACCEPT [0:0]

# 该规则表示FORWARD表默认策略是ACCEPT
:FORWARD ACCEPT [0:0]

# 该规则表示OUTPUT表默认策略是ACCEPT
:OUTPUT ACCEPT [0:0]

# 意思是允许进入的数据包只能是刚刚我发出去的数据包的回应,
# ESTABLISHED:已建立的链接状态。
# RELATED:该数据包与本机发出的数据包有关。
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT


# 下两条是在INPUT表和FORWARD表中拒绝所有其他不符合上述任何一条规则的数据包。
# 并且发送一条host prohibited的消息给被拒绝的主机。
# 注意:所有新加过滤规则必须要这两条上面才有效
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

# 提交
COMMIT

 

2.添加规则

添加8080端口允许

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

 

操作分类:

-A 添加一条规则

-D 删除一条规则

-R 替换一条规则

-I 插入一条规则

 

防火墙链

INPUT : 输入链

OUTPUT: 输出链

FORWARD: 重定向链

 

-p  protocal (all/tcp/udp/icmp)

-s  指定源地址  (-s 0.0.0.0/0)

-d  指定目的地址(-d 192.168.1.1)

-i   指定入口网卡( -i eth0)

-o   指定出口网卡(-o eth0)

--sport 源端口 (--sport 22)

--dport 目的端口(--dport 22:80)

-j   指定要进行的动作(ACCEPT 将封包放行, DROP 丢弃包不处理, REJECT 拒绝)

 

3.防火墙命令

在添加好防火墙后,需要用命令让防火墙生效

3.1停止(即时生效,重启后复原)

service  iptables  stop  

systemctl  stop  iptables

 

3.2启动(即时生效,重启后复原)

service  iptables  start

systemctl  start  iptables

 

3.3 重启(即时生效,重启后复原)

service  iptables  restart

systemctl  restart  iptables

 

3.4 永久开启

chkconfig  iptables  on

systemctl  enable  iptables

 

3.5 永久关闭

chkconfig  iptables  off

systemctl  disable  iptables

 

4 防火墙命令

iptables  --help

 

4.1 设定预设规则

iptables  -P  INPUT  DROP

iptables  -P  FORWARD  DROP

当超出iptables里filter表里的两个链规则(INPUT, FORWARD)时, DROP 丢弃

iptables  -P  OUTPUT  ACCEPT

对OUTPUT链,流出的包,不做限制

 

4.2 添加规则

INPUT链的默认规则是DROP,所以把可以通过的规则写成ACCEPT

 

4.2.1 远程SSH端口22开放

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

iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT (如果OUTPUT设成了DROP,要加这条)

 

4.2.2 开放WEB 80端口

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

 

4.2.3 邮件服务端 25,110端口

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

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

 

4.2.3 FTP服务器21端口

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

 

4.2.4 DNS服务器53端口

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

 

4.2.5 要开放的端口同理

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

 

4.2.6 要禁用的端口

iptables -A INPUT -p tcp --dport port_num -j DROP

 

4.2.7 允许icmp包通过,允许ping

iptables -A OUTPUT -p icmp -j ACCEPT

iptables -A INPUT -p icmp -j ACCEPT

 

4.2.8 允许loopback(DNS)

iptables -A INPUT -i lo -p all -j ACCEPT

iptables -A OUTPUT -o lo -p all -j ACCEPT

 

4.2.9 减少不安全端口

iptables -A OUTPUT -p tcp --sport 31337 -j DROP

iptables -A OUTPUT -p tcp --dport 31337 -j DROP

 

4.2.10 只允许192.168.0.2的机器连接

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

 

4.2.11 允许一段IP连接(192.168.0.1-255)

iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT

 

用命令和直接修改配置是一样的,最后修改好后,别忘了重启防火墙生效。

 

猜你喜欢

转载自blog.csdn.net/second60/article/details/83544250