selinux 生产中也是关闭的
iptables 生产中看情况,内网关闭,外网打开
大并发的情况不能打开iptables,影响性能,硬件防火墙
安全优化
尽可能不给服务器配置外网IP,可以通过代理转发
并发不是特别大的情况在外网IP的环境,开户防火墙

基于数据包过滤的防火墙

容器:包含或属于的关系
Netfilter/iptables是表的容器,iptables包含的各个表
(filter,NAT,MANGLE,RAW)

iptables的表又是链的容器
链:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING

表名包括:

raw:高级功能,如:网址过滤。
mangle:数据包修改(QOS),用于实现服务质量。
net:地址转换,用于网关路由器。
filter:包过滤,用于防火墙规则。

规则链名包括:

INPUT链:处理输入数据包。
OUTPUT链:处理输出数据包。
PORWARD链:处理转发数据包。
PREROUTING链:用于目标地址转换(DNAT)。
POSTOUTING链:用于源地址转换(SNAT)。

动作包括:

accept:接收数据包。
DROP:丢弃数据包。
REDIRECT:重定向、映射、透明代理。
SNAT:源地址转换。
DNAT:目标地址转换。
MASQUERADE:IP伪装(NAT),用于ADSL。
LOG:日志记录。

NAT

centos7安装使用iptables

yum install iptables-services iptables -y

vim /etc/sysconfig/iptables

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

#允许ping
iptables -A INPUT -p icmp –icmp-type 8 -j ACCEPT

systemctl enable iptables.service

#开启服务
systemctl start iptables.service

#查看状态
systemctl status iptables.service

iptables -F 清除所有规则,不会处理默认的规则
iptables -X 删除用户自定义的链
iptables -Z 链的记数器清零

我们使用iptables的 -I 参数就可以插入到指定的位置了,例如
iptables -I INPUT 1 -p tcp –sport 80 -j ACCEPT

删除
iptables -D INPUT -p tcp –dport 80 -j ACCEPT
iptables -L -n –line-numbers 显示序号
iptables -t filter -D INPUT 1

INPUT后面
-s 指定源地址
-d 指定目标地址
-i 指进入的接口

#允许ping
iptables -A INPUT -p icmp –icmp-type 8 -j ACCEPT

封端口范围

iptables -I INPUT -p tcp –dport 22:80 -j DROP

指定多个端口
iptables -A INPUT -p tcp -m multiport –dport 25,80,110,143 -j ACCEPT

-m state –state
NEW,ESTABLISHED,RELATED,INVALID
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT #允许已建立的或相关连的通行

设置防火墙的默认规则
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

iptables -A INPUT -s 192.168.200.0/24 -p all -j ACCEPT
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

保存配置
/etc/init.d/iptables save
iptables-save

NAT转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT –to-source 192.168.200.230
iptables -t nat -A POSTROUTING -S 192.168.100.0/24 -j MASQUERADE

端口映射
iptables -t nat -A PREROUTING -d 192.168.200.230 -p tcp –dport 10022 -j DNAT –to-destination 192.168.100.100:22

文档更新时间: 2019-12-22 10:37   作者:老王