一文快速了解iptables 和systemctl | 快速了解linux防火墙
Posted smallsha
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文快速了解iptables 和systemctl | 快速了解linux防火墙相关的知识,希望对你有一定的参考价值。
docker网络配置以及docker操作
CentOS 7 中默认的防火墙是 FireWall
firewall
systemctl stop firewalld.service
systemctl start firewalld.service
systemctl status nfs-server.service
systemctl restart nfs-server.service
systemctl list -units --type=service
systemctl disable firewalld.service
systemctl enable nfs-server.service
安装 iptables
yum install iptables-services
vim /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 [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-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 A
CCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j A
CCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j A
CCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j A
CCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10020:1
0030 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
最后重启防火墙使配置生效
systemctl restart iptables.service
设置开机启动
systemctl enable iptables.service
关闭 SELINUX 的方法
vim /etc/selinux/config
SELINUX=disabled #增加
使配置生效
setenforce 0
规则的查看
iptables -L -n
iptables-save
清除所有已制定的规则
iptables -F
清除用户 "自定义"
iptables -X
将所有的 chain 的计数与流量统计都归零
iptables -Z
target : 代表进行的操作,ACCEPT是放行,而 REJECT 则是拒绝,此外,尚有 DROP(丢弃)的项目;
prot : 代表使用的数据包协议;
opt : 额外的选项说明;
source : 针对来源 IP;
destination : 针对目的 IP
举例,修改默认策略,信任内部网络,严格对待 INPUT
iptables -P INPUT DROP; #丢弃
iptables -P OUTPUT ACCEPT;
iptables -P FORWARD ACCEPT;
最后使用 iptables-save 查看
允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
开启22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
允许访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
允许指定IP访问22
iptables -I INPUT -s 192.168.0.19 -p tcp --dport 22 -j ACCEPT
屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
删除已添加的iptables规则
iptables -D INPUT 8
保存规则
service iptables save
重启服务
service iptables restart
允许Ping
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
禁Ping
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
以上是关于一文快速了解iptables 和systemctl | 快速了解linux防火墙的主要内容,如果未能解决你的问题,请参考以下文章
Linux Redirecting to /bin/systemctl restart iptables.service