Linux中的防火墙
firewalld
一、防火墙安全概述
firewalld支持命令行也支持GUI设置,相对于iptables,firewalld配置更加的方便。在底层的命令都是iptables,
firewalld 是全部阻止。从内部往外流的不会阻止。
iptables 默认全部放行。
二、防火墙区域管理
区域选项 | 默认规则策略 |
---|---|
trusted | 允许所有的数据包流入流出 |
home | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量 |
internal | 等同于home区域 |
work | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-client、dhcpv6-client服务相关,则允许流量 |
public | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量 |
external | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量 |
dmz | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量 |
block | 拒绝流入的流量,除非与流出的流量相关 |
drop | 拒绝流入的流量,除非与流出的流量相关 |
三个经常使用的区域:
trusted: 白名单
public:默认
drop:黑名单
三、对防火墙区域的操作
参数 | 作用 |
---|---|
zone区域相关指令 | |
--get-default-zone | 获取默认的区域名称 |
--set-default-zone=<区域名称> | 设置默认的区域,使其永久生效 |
--get-active-zones | 显示当前正在使用的区域与网卡名称 |
--get-zones | 显示总共可用的区域 |
--get-zone= | 新增区域 讲课的时候有问题 |
services服务相关命令 | |
--get-services | 列出服务列表中所有可管理的服务 |
--add-service= | 设置默认区域允许该填加服务的流量 |
--remove-service= | 设置默认区域不允许该删除服务的流量 |
Port端口相关指令 | |
--add-port=<端口号/协议> | 设置默认区域允许该填加端口的流量 |
--remove-port=<端口号/协议> | 置默认区域不允许该删除端口的流量 |
Interface网站相关指令 | |
--add-interface=<网卡名称> | 将源自该网卡的所有流量都导向某个指定区域 |
--change-interface=<网卡名称> | 将某个网卡与区域进行关联 |
其他相关指令 | |
--list-all | 显示当前区域的网卡配置参数、资源、端口以及服务等信息 |
--reload | 让“永久生效”的配置规则立即生效,并覆盖当前的哦诶之规则 |
防火墙的配置文件位置 /usr/lib/firewalld
[root@web01 /usr/lib/firewalld]# ll
total 16
drwxr-xr-x. 2 root root 224 Apr 30 20:39 helpers
drwxr-xr-x. 2 root root 4096 Apr 30 20:39 icmptypes
drwxr-xr-x. 2 root root 20 Apr 30 20:39 ipsets
drwxr-xr-x. 2 root root 8192 Apr 30 20:39 services
drwxr-xr-x. 2 root root 94 Apr 30 20:39 xmlschema
drwxr-xr-x. 2 root root 163 Apr 30 20:39 zones
三、防火墙区域配置策略
1.为了能正常使用firewalld服务和相关工具去管理防火墙,必须启动firewalld服务,同事关闭以前旧的防火墙相关服务,需要注意firewalld的规则分为两种状态:
runtime
运行时: 修改规则马上生效,但如果重启服务则马上失效,测试建议。
permanent
持久配置: 修改规则后需要reload重载服务才会生效,生产建议。
# 临时生效是立即的
[root@web01 ~]# firewall-cmd --add-port=80/tcp
success
# 永久生效的使用方法,需要--reload一下防火墙
[root@web01 ~]# firewall-cmd --permanent --add-port=80/tcp
success
五、禁用防火墙规则
#1. 禁用旧版防火墙服务或保证没启动
[root@web01 ~]# systemctl mask iptables
Created symlink from /etc/systemd/system/iptables.service to /dev/null.
[root@web01 ~]# systemctl mask ip6tables
Created symlink from /etc/systemd/system/ip6tables.service to /dev/null.
#2. 启动firewalld防火墙,并加入开机自启动服务
[root@m01 ~]# systemctl start firewalld
[root@m01 ~]# systemctl enable firewalld
#3.取消禁用防火墙
[root@web01 ~]# systemctl unmask iptables
五、firewalld常用命令
# 查看默认区域
[root@web01 ~]# firewall-cmd --get-default-zone
public
# 查看默认区域的规则
[root@web01 ~]# firewall-cmd --list-all
public (active) # 区域的名称(状态)
target: default # 状态:默认
icmp-block-inversion: no # ICMP
interfaces: eth0 eth1 # 区域绑定的网卡
sources: # 允许的源IP
services: dhcpv6-client http https # 允许的服务
ports: 80/tcp # 允许的端口
protocols: # 允许的协议
masquerade: no # 是否开启IP伪装
forward-ports: # 端口转发
source-ports: # 来源端口
icmp-blocks: # icmp块
rich rules: # 复规则
rule family="ipv4" source address="10.0.0.1/32" service name="ssh" accept
# 查看指定区域的规则
[root@web01 ~]# firewall-cmd --list-all --zone=drop
drop
target: DROP
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
# 查询某区域是否允许某服务,可以通过list_all的方式
[root@web01 services]# firewall-cmd --zone=public --query-service=ssh
yes
# 同时添加多个服务通行
[root@web01 /usr/lib/firewalld]# firewall-cmd --add-service={http,https}
success
配置实例
配置要求:调整防火墙,默认区域拒绝所有的流量,如果来源IP是10.0.0.0/24则允许
# 移除public区域所有默认的允许的内容
[root@web01 ~]# firewall-cmd --remove-service={ssh,dhcpv6-client}
success
#配置允许的网段到trusted区域
[root@web01 services]# firewall-cmd --add-source=10.0.0.0/24 --zone=trusted
success
防火墙配置放行策略
1.firewalld放行服务
# 第一种方法,默认由服务名的,可以直接通过这样的方式添加。
[root@web01 ~]# firewall-cmd --add-service=ssh
success
# 第二种方法,如果没有服务名的,就需要去配置一个配置文件
[root@web01 /usr/lib/firewalld/services]# cp mysql.xml nginx.xml
[root@web01 /usr/lib/firewalld/services]# vi nginx.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Ngix</short>
<description>Nginx Server</description>
<port protocol="tcp" port="80"/>
</service>
[root@web01 ~]# firewall-cmd --reload
success
[root@web01 ~]# firewall-cmd --add-service=nginx
success
2.firewalld放行端口
[root@web01 ~]# firewall-cmd --add-port=443/tcp
success
[root@web01 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client nginx
ports: 80/tcp 443/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
3.firewalld 放行网段
# 把网段加入白名单
[root@web01 services]# firewall-cmd --add-source=10.0.0.0/24 --zone=trusted
防火墙端口转发策略
端口转发是指传统的目标地址映射,实现外网访问内网资源,firewalld转发命令格式为:
firewalld-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
#1.配置端口转发
[root@web01 ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=5555:proto=tcp:toport=22:toaddr=172.16.1.8
success
[root@web01 ~]# firewall-cmd --reload
#2.开启IP伪装
[root@web01 ~]# firewall-cmd --add-masquerade
success
[root@web01 ~]# firewall-cmd --add-masquerade --permanent
success
#3.测试访问
[root@m01 ~]# ssh 10.0.0.7 -p5555
root@10.0.0.7's password:
Last login: Tue Jul 7 01:06:01 2020 from 172.16.1.7
在端口转发的时候会因为,返回数据包格式的问题而被阻断没有返回结果,这个时候就需要,开启IP伪装来解决。
防火墙的的复规则
firewalld中的富语言规则表示更细致,更详细的防火墙策略配置,他可以针对系统服务、端口号、原地址和目标地址等诸多信息进行更有针对性的策略配置,优先级在所有的防火墙策略中也是最高的,下面为firewalld富语言规则帮助手册
rule
[source]
[destination]
service|port|protocol|icmp-block|icmp-type|masquerade|forward-port|source-port
[log]
[audit]
[accept|reject|drop|mark]
rule [family="ipv4|ipv6"]
source address="address[/mask]" [invert="True"]
service name="service name"
port port="port value" protocol="tcp|udp"
protocol value="protocol value"
forward-port port="port value" protocol="tcp|udp" to-port="port value" to-addr="address"
accept | reject [type="reject type"] | drop
复规则常用命令
--add-rich-rule='<RULE>' #在指定的区域添加一条富语言规则
--remove-rich-rule='<RULE>' #在指定的区删除一条富语言规则
--query-rich-rule='<RULE>' #找到规则返回yes,找不到返回no
--list-rich-rules #列出指定区里的所有富语言规则
1.实例一
要求:比如允许10.0.0.1主机能够访问http服务,允许172.16.1.0/24能访问22端口
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1" service name="httpd" accept'
success
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="172.16.1.0/24" port port=22 protocol=tcp accept'
2.实例
# 使用public区域对外 开放所有人能通过的ssh服务器,但是拒绝172.16.1.0/24网段的主机。
firewall-cmd --add-rich-rule='rule family=ipv4 source address="172.16.1.0/24" port port="22" protocol="tcp" drop'
# 使用firewalld,允许所有人能访问http,https,但是只有10.0.0.1可以访问ssh服务。
[root@web01 /usr/lib/firewalld]# firewall-cmd --add-service={http,https}
success
[root@web01 /usr/lib/firewalld]# firewall-cmd --remove-service=ssh
success
[root@web01 /usr/lib/firewalld]# firewall-cmd --add-rich-rule='rule family=ipv4 source address="10.0.0.1/24" port port="22" protocol="tcp" accept'
success
### 5.当用户来源IP地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.7的22端口
在测试机中是用的.9的虚拟机所以改了IP
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address="10.0.0.9/32" forward-port port="5555" protocol="tcp" to-port="22" to-addr="10.0.0.7"'
防火墙规则备份
我们所有针对public区域编写的永久添加的规则都会写入备份文件(--permanent) /etc/firewalld/zones/public.xml
#我们防火墙的配置,永久生效后会保存在 /etc/firewalld/zones/目录下,所以,以后进行服务器扩展,或者配置相同防火墙时,只需要拷贝该目录下的文件即可
备份也备份以上目录下的文件即可
防火墙内部共享上网
1.开启IP伪装
# 在有外网连接的主机上
# 永久生效,需要的--reload一下。
[root@web01 ~]# firewall-cmd --add-masquerade --permanent
success
# 临时立即生效,--reload之后就清除规则了。
[root@web01 ~]# firewall-cmd --add-masquerade
success
2.防火墙开启内核转发(如果是Centos6需要配置,Centos7不需要)
[root@web01 ~]# sysctl -a | grep net.ipv4.ip_forward
net.ipv4.ip_forward = 1
#配置内核转发
[root@m01 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
#在CentOS6中开启之后生效命令
[root@m01 ~]# sysctl -p
#查看内核转发是否开启
[root@m01 ~]# sysctl -a|grep net.ipv4.ip_forward
net.ipv4.ip_forward = 1
注:0关闭,1开启
3.配置没有外网的机器网关地址
[root@web01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
#添加配置
GATEWAY=172.16.1.7 #防火墙内网地址
DNS1=223.5.5.5
#重启网卡
[root@web01 ~]# ifdown eth1
[root@web01 ~]# ifup eth1
iptables 防火墙
一、iptables防火墙
1、应用场景
1、主机安全
2、内部共享上网
3、端口或IP映射
2、iptables工作机制
1、匹配规则从上向下匹配
2、只只要匹配到规则就不再向下匹配
3、如果没有匹配的规则,走默认规则
4、默认规则是允许所有
# 注意: 经常匹配的规则往上配。
二、四表五链
# 四表
1.filter表
2.NAT表
3.mangle表
4.raw表
# 五链
1.PREROUTING
2.INPUT
3.FORWARD
4.OUTPUT
5.POSTROUTIONG
生产环境中两个经常使用的表
1.filter表
#重要作用阻止和允许访问服务器
#包含的链:
1.INPUT:过滤进入主机的数据包
2.FORWARD:转发数据包
3.OUTPUT:过滤从主机出去的数据包
2.NAT表
#主要做端口或IP转发
#包含的链
1.PREROUTING:在数据包到达防火墙时,改写数据包目的地址和端口(端口转发)
2.OUTPUT:过滤从主机出去的数据包
3.POSTROUTIONG:在数据包到达防火墙时,改写数据包目的地址和端口(内部共享上网)
三、安装iptables防火墙
三、安装iptables防火墙
1.停止firewalld防火墙
[root@web01 ~]# systemctl stop firewalld.service
2.安装iptables
[root@web01 ~]# yum install -y iptables-services
3.安装内核模块
[root@web01 ~]# modprobe ip_tables
[root@web01 ~]# modprobe iptable_filter
[root@web01 ~]# modprobe iptable_nat
[root@web01 ~]# modprobe ip_conntrack
[root@web01 ~]# modprobe ip_conntrack_ftp
[root@web01 ~]# modprobe ip_nat_ftp
[root@web01 ~]# modprobe ipt_state
#检查加载的内核模块
[root@web01 ~]# lsmod |egrep 'filter|nat'
4.启动iptables
[root@web01 ~]# systemctl start iptables.service
四、iptables常用参数
(a)链管理:
-N:new, 自定义一条新的规则链;
-X: delete,删除自定义的规则链;
注意:仅能删除 用户自定义的 引用计数为0的 空的 链;
-P:Policy,设置默认策略;对filter表中的链而言,其默认策略有:
ACCEPT:接受
DROP:丢弃
REJECT:拒绝
-E:重命名自定义链;引用计数不为0的自定义链不能够被重命名,也不能被删除;
(b)规则管理:
-A:append,追加;
-I:insert, 插入,要指明位置,省略时表示第一条;
-D:delete,删除;
(1) 指明规则序号;
(2) 指明规则本身;
-R:replace,替换指定链上的指定规则;
-F:flush,清空指定的规则链;
-Z:zero,置零;
iptables的每条规则都有两个计数器:
(1) 匹配到的报文的个数;
(2) 匹配到的所有报文的大小之和;
(c)查看:
-L:list, 列出指定鏈上的所有规则;
-n:numberic,以数字格式显示地址和端口号;
-v:verbose,详细信息;
-vv, -vvv
-x:exactly,显示计数器结果的精确值;
--line-numbers:显示规则的序号;
1.查看防火墙(默认filter表)
[root@web01 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
2.查看指定表规则
[root@web01 ~]# iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
3.清空防火墙规则
[root@web01 ~]# iptables -F
[root@web01 ~]# iptables -X
[root@web01 ~]# iptables -Z
4.配置防火墙规则
[root@web01 ~]# iptables -t filter -A INPUT -p tcp --dport 22 -j DROP
iptables #命令
-t #指定表
filter #表
-A #追加
INPUT #链
-p #指定协议
tcp #tcp协议
--dport #指定端口
22 #端口
-j #指定动作
DROP #丢弃
5.删除防火墙规则
-D:delete,删除;
(1) 指明规则序号;
(2) 指明规则本身;
#查看防火墙规则
[root@web01 ~]# iptables -nL --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6379
3 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:111
4 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:10050
5 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:873
6 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
7 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
#删除指定序号的规则
[root@web01 ~]# iptables -D INPUT 7
[root@web01 ~]# iptables -nL --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6379
3 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:111
4 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:10050
5 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:873
6 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
#删除规则本身
[root@web01 ~]# iptables -D INPUT -p tcp --dport 443 -j DROP
五、防火墙配置实例
1.禁止端口访问
[root@web01 ~]# iptables -t filter -A INPUT -p tcp --dport 22 -j DROP
2.拒绝IP访问
[root@web01 ~]# iptables -t filter -A INPUT -p tcp -s 10.0.0.61 -i eth0 -j DROP
-s #指定来源地址
-i #指定网卡
[root@web01 ~]# iptables -t filter -A INPUT -p tcp -s 10.0.0.61 -i eth0 -j REJECT
3.禁止IP网段访问
[root@web01 ~]# iptables -t filter -A INPUT -p tcp -s 10.0.0.0/24 -i eth0 -j DROP
4.只允许某个IP访问
[root@web01 ~]# iptables -t filter -A INPUT -p tcp ! -s 10.0.0.61 -i eth0 -j DROP
! #取反
5.只允许某个端口范围访问
[root@web01 ~]# iptables -t filter -A INPUT -m multiport -p tcp --dport 22,23,24 -j ACCEPT
-m #指定扩展项
multiport #多端口匹配
[root@web01 ~]# iptables -t filter -A INPUT -m multiport -p tcp --dport 80:100 -j ACCEPT
六、企业中一般如何配置
1.配置前先思考
1.架构中哪一台机器要开防火墙
2.配置防火墙的机器都部署了哪些
Nginx
keepalived
3.服务需要开启的端口有哪些
80
443
22
4.默认其他都拒绝
2.配置安全规则
#允许访问80和443
[root@web01 ~]# iptables -t filter -I INPUT -m multiport -p tcp --dport 80,443 -j ACCEPT
#只允许61访问web的22端口
[root@web01 ~]# iptables -t filter -A INPUT -p tcp -s 172.16.1.61 --dport=22 -j ACCEPT
#所有都拒绝,修改默认规则全部拒绝
[root@web01 ~]# iptables -P INPUT DROP
-P #修改默认规则
3.企业中一般的配置
iptables -F
iptables -X
iptables -Z
iptables -A INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -s 172.16.1.0/24 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -nL
坑:
#以上配置好之后,跳板机连接之后,千万不要清除规则,否则就连不上了;
因为清空规则操作,不会修改`iptables -P INPUT DROP`,默认所有全部拒绝
#解决方法: 到物理机操作
1.iptables -P INPUT ACCEPT
2.systemctl restart iptables
3.重启服务器
#避免方法:
1.配置定时任务
* * * * * /usr/sbin/iptables -P INPUT ACCEPT
2.准备一台机器先配置测试没问题,再到生产环境配置
七、防火墙规则永久生效
1.默认配置文件
[root@web01 ~]# 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 ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
2.自己配置防火墙规则永久生效
[root@web01 ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
八、iptables配置内部共享上网
1.在防火墙机器上操作
#配置内核转发
[root@m01 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
#在CentOS6中开启之后生效命令
[root@m01 ~]# sysctl -p
#查看内核转发是否开启
[root@m01 ~]# sysctl -a|grep net.ipv4.ip_forward
net.ipv4.ip_forward = 1
#配置内部共享上网
[root@web02 ~]# iptables -A FORWARD -i eth0 -s 172.16.1.0/24 -j ACCEPT
[root@web02 ~]# iptables -A FORWARD -i eth1 -s 10.0.0.0/24 -j ACCEPT
[root@web02 ~]# iptables -A FORWARD -o eth1 -s 10.0.0.0/24 -j ACCEPT
[root@web02 ~]# iptables -A FORWARD -o eth0 -s 172.16.1.0/24 -j ACCEPT
[root@web01 ~]# iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 10.0.0.7
2.在没有外网的机器上配置
[root@web02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
#添加配置
GATEWAY=172.16.1.7 #防火墙内网地址
DNS1=223.5.5.5
#重启网卡
[root@web02 ~]# ifdown eth1
[root@web02 ~]# ifup eth1
Linux中的防火墙的更多相关文章
- LINUX中IPTABLES防火墙使用
对于有公网IP的生产环境VPS,仅仅开放需要的端口,即采用ACL来控制IP和端口(Access Control List). 这里可以使用Linux防火墙netfilter的用户态工具 iptable ...
- Linux中在防火墙中开启80端口的例子
最近自己在学习Linux.搭建一个LNMP环境.在测试时一切都好.然后重启Linux后.再次访问网站无法打开.最终原因是在防火墙中没有加入 80 端口的规则.具体方法如下: 在CentOS下配置ipt ...
- Linux中的防火墙----iptables
防火墙,它是一种位于内部网络与外部网络之间的网络安全系统.一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过. 防火墙根据主要的功能可分为网络层防火墙.应用层防火墙.数据库防火墙. 网 ...
- Linux中的防火墙(Netfilter、Iptables、Firewalld)
目录 Netfilter Iptables iptables做本地端口转发 Firewalld Netfilter Netfilter是Linux 2.4内核引入的全新的包过滤引擎,位于Linux内核 ...
- linux中的防火墙netfilter iptables
目录 一.Linux防火墙基础 1.1 ptables的表.链结构 1.2 数据包控制的匹配流程 二.编写防火墙规则 1.iptables的安装 2.1 基本语法.控制类型 一般在生产环境中设置网络型 ...
- Linux中iptables防火墙指定端口范围
我需要700至800之间的端口都能tcp访问 代码如下 复制代码 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7 ...
- 在linux中关闭防火墙
1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: service iptables sta ...
- 如何在Linux中搭建禅道8.4.1(httpd+php+mysql)
1.安装httpd 命令:yum install httpd 然后一路y即可 2.安装php 命令:yum install php 3.安装php-mysql 命令:yum install php ...
- linux中利用iptables+geoip过滤指定IP
1. 前提条件 iptables >= 1.4.5 kernel-devel >= 3.7 2. 安装依赖包 代码如下 复制代码 # yum install gcc gcc-c++ m ...
随机推荐
- OOUnit1Summary
一.前三次作业内容分析 前言 第一单元的作业以表达式求导为主题,分三次要求逐步增加,难度逐步提高.这三次作业下来,本人既有收获,也有遗憾,因此通过接下来的内容对我这三次作业进行分析和总结,希望能能为我 ...
- Array.prototype.fill 填充值被复用的问题
考察如下示例代码: // 创建二维数组 const arr = Array(2).fill([]); // 操作第一个元素 arr[0].push(1); // 结果是操作了所有数组 console. ...
- 【CTF】2019湖湘杯 miscmisc writeup
题目来源:2019湖湘杯 题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=1&id= ...
- Go-08-函数与指针
Go语言的函数本身可以作为值进行传递,既支持匿名函数和闭包,又能满足接口. 函数声明 func 函数名 (参数列表)(返回参数列表){ // 函数体 } func funcName(parameter ...
- MySQL学习之路(一)锁机制
1 锁的分类 1.1 操作类型 读锁(共享锁):针对同一份数据,多个操作可以同时进行而不会互相影响 写锁(排它锁):当写操作没有完成前,它会阻塞其他读锁或者写锁 1.2 操作粒度 表锁:锁住整张表 行 ...
- Day17_106_IO_利用Buffered和BufferWriter完成复制
利用Buffered和BufferWriter完成复制 代码示例: 用BufferedReader 和 BufferWriter完成复制 import java.io.*; public class ...
- Django--虚拟环境、项目和应用的创建
第一点:官方手册 -- https://yiyibooks.cn/ 第二点:运行环境 -- django项目采用虚拟运行环境 之前我们pip install都是在Python的安装目录(底层)上安装的 ...
- 2.1.1- css产生的原因
CSS的发展历程 从HTML被发明开始,样式就以各种形式存在.不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制.最初的HTML只包含很少的显示属性.随着HTML的成长,为了满足页面设计者的要 ...
- hdu3472 混合欧拉
题意: 给你一些字符串,有的字符串反过来也有意义,题目问给的这n个字符串是否可以首尾相连,组成一个串. 思路: 算是混合欧拉的基础题目了,混合欧拉就是专门处理这类问题的,先说下 ...
- MySQL三种报错注入方式下的insert,update,delete命令注入示例
select 查询数据(大部分) 在网站应用中进行数据显示查询操作 insert 插入数据 在网站应用中进行用户注册添加等操作 delete 删除数据 后台管理里面删除文章删除用户等操作 update ...