firewalld服务

input,output,forward,postrouting,prerouting
firewall的图形管理
在这里插入图片描述
firewall-config 运行该命令进入以下界面

该图分别对应firewalld的域,默认只有ssh与dhcpv6-client可以被火墙允许。
在这里插入图片描述
在这里插入图片描述
使用ssh命令远程连接172.25.254.142
ssh root@172.25.254.142(可以连接,因为ssh在firewalld的默认域中)
在这里插入图片描述

在网页中查看172.25.254.142的默认发布文件无法查看(apache不在firewalld的默认域中)
在这里插入图片描述
修改域至trustd域,并添加http至trustd域中再次使用http查看文件
在这里插入图片描述

firewall-cmd --state 获取firewalld状态
firewall-cmd --reload重新加载防火墙
firewall-cmd --get-zones获取支持的区域列表
firewall-cmd --get-services获取支持的服务

在这里插入图片描述

firewall-cmd --get-icmptypes 获取所有支持的ICMP类型
firewall-cmd --list-all-zones 列出全部启用的区域特性
firewall-cmd [--zone=] --list-all
firewall-cmd --list-all	显示默认区域的信息
firewall-cmd -zone=public --list-all列出public域启动的特性
firewall-cmd --set-default-zone=drop设置默认区域
firewall-cmd --get-active-zones 获取活动的区域
firewall-cmd --get-zone-of-interface=接口名 输出接口所属区域的名称
firewall-cmd --get [--zone=] -add-interface=接口名 将接口(网卡)增加到区域,若接口不属于任何区域,接口将被增加到区域,如果区域被省略,将使用默认区域。重新加载后接口便可以使用了。
firewall-cmd --change-interface=接口名 修改接口所属区域
firewall-cmd --zone=internal --add-source=172.25.254.42 添加172.25.254.42的服务到internal区域中
firewall-cmd --zone=internal --remove-source=172.25.254.42 从internal区域移除172.25.254.42的数据
firewall-cmd --zone=trusted --add-interface=eth0添加接口eth0至trusted区域
firewall-cmd --zone=trusted --change-interface=eth0 修改接口eth0至trusted区域
firewall-cmd --reload重新加载服务,不会断开客户机的连接
firewall-cmd --complete reload 重新加载服务,断开所有客户机的连接

服务器有两块网卡,一个ip为172.25.254.142,一个为1.1.1.142
在这里插入图片描述

服务器安装httpd并开启服务,编辑默认发布文件
在这里插入图片描述
在这里插入图片描述
默认发布文件的信息
在这里插入图片描述
客户机1(ip为172.25.254.42)无法访问服务器的发布文件
在这里插入图片描述
在这里插入图片描述

对来自172.25.254.42的数据默认都为trusted区域中
在这里插入图片描述
客户机1再次访问服务器
在这里插入图片描述
在客户机2(ip为1.1.1.242)的主机中访问服务器无法访问

在这里插入图片描述

在这里插入图片描述
因为服务器的eth1网卡在公共区域
在这里插入图片描述

修改eth1为信任区域
在这里插入图片描述
在这里插入图片描述
再次访问服务器
在这里插入图片描述
修改ssh的端口

cd  /lib/firewalld/services 进入该目录(该目录存放各个服务的信息)
vim ssh.xml编辑ssh服务的信息(修改端口为23)
firewall-cmd --reload重新加载防火墙
firewall-cmd --list-service 查看火墙允许的服务

可以看到服务器中火墙允许ssh服务运行
在这里插入图片描述
查看ssh.xml的文件信息,可以看到其端口号被修改为了23
在这里插入图片描述
在ip为172.25.254.42的主机上连接服务器发现无法连接(线路不可达,端口号被修改)
在这里插入图片描述
还原ssh.xml的文件端口号并重启服务
在这里插入图片描述
firewall-cmd --reload
再次连接服务器,发现可以连接
在这里插入图片描述
如何指定特定的域去访问服务器
去除服务器的默认域中的ssh服务
在这里插入图片描述
然后添加rule来只允许172.25.254.42的ip去访问服务器

firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.42 -p tcp --dport 22 -j ACCEPT
1 表示优先级
-s 172.25.254.42表示来源为172.25.254.42
-p tcp表示使用tcp协议
--dport 22 表示目的端口为22 
-j ACCEPT 表示采取的行动为‘ACCEPT’

在这里插入图片描述
查看规则
firewall-cmd --direct --get-all-rules 查看所有制定的规则
在这里插入图片描述
使用ip为172.25.254.42的机器使用ssh登陆服务器可以登陆
在这里插入图片描述
使用ip为172.25.254.242的机器使用ssh登录服务器不可以访问
在这里插入图片描述
删除规则
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -s 172.25.254.42 -p tcp --dport 22 -j ACCEPT
在这里插入图片描述
再次使用ip为172.25.254.42的机器登陆服务器无法登录
在这里插入图片描述
添加规则除172.25.254.42的机器外,其余机器都可以使用22端口
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.42 -p tcp --dport 22 -j ACCEPT
! 172.25.254.42表示除172.25.254.42以外的机器
在这里插入图片描述
使用ip为172.25.254.42的机器ssh连接服务器无法连接
在这里插入图片描述
使用ip为172.25.254.242的机器使用ssh访问服务器可以访问
在这里插入图片描述
如何连接到自己想要访问的主机
服务机开启地址伪装服务
在这里插入图片描述

给客户机添加网关
使得客户机可以域服务机建立连接
在这里插入图片描述
使用另一台主机的ssh服务连接客户机
在这里插入图片描述
查看ip
在这里插入图片描述

iptables管理火墙
在filter表中先添加允许接受来自172.25.254.42的数据,在拒绝来自172.25.254.42的数据,可以发现依旧可以在ip为172.25.254.42的主机使用ssh连接服务器

iptables -t filter -A INPUT -s 172.25.254.42 -j ACCEPT 允许接受来自主机为172.25.254.42的数据

iptables -t filter -A INPUT -s 172.25.254.42 -j REJECT 拒绝接受来自主机为172.25.254.42的数据

在这里插入图片描述

可以连接服务器
在这里插入图片描述

删除策略

iptables -D INPUT 3 删除INPUT链中的第三个策略

在这里插入图片描述
只接受来自主机172.25.254.42的22端口的数据,其它来自172.25.254.42的数据都不接受

iptables -t filter -A INPUT -s 172.25.254.42 -p tcp --dport 22 -j ACCEPT 

在这里插入图片描述
修改默认策略为DROP

iptables -P INPUT DROP 

在这里插入图片描述
ip为172.25.254.42的主机可以通过ssh连接服务机
在这里插入图片描述
但服务器无法访问该主机的http默认发布文件
在这里插入图片描述

iptables -N aicheng  添加新链aicheng

在这里插入图片描述
iptables -E aicheng aining 修改链名aicheng为aining
在这里插入图片描述
iptables -X aining删除链aining
在这里插入图片描述
地址伪装与端口转发
地址伪装
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 1.1.1.242:22 接受所有来自eth0网卡22号端口的目的地全部指向1.1.1.242的22端口
解释:当外网来访问内网时(已知),由于不再同一个网段,需要先到相同ip的网卡eth0.到达eth0后,eth0则可以加入策略直接让其访问目的地。(不需要经过路由转换)
端口转发
iptables -t nat -A POSTEROUTING -o eth0 -j SNAT --to-source 172.25.254.142 所有从出去的数据全部使用172.25.254.142的端口号
解释:当我们访问外网时,也不再同一个网段,我们需要通过eth0来将自己的网段与访问的外网ip网段相同,及将所有来自eth0的来源数据都改为172.25.254.142(与我们访问的外网网段相同,需要经过路由转换)

在这里插入图片描述
可以看到使用ssh命令连接172.25.254.142,查看ip可以看到ip为1.1.1.142。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值