linux 之防火墙的限制和路由端口打开、地址转换

一、linux 之防火墙的限制:

防火墙

  • 防火墙也称防护墙,是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出。防火墙是系统的第一道防线,其作用是防止非法用户的进入。
  • 在网络中,所谓“防火墙”,是指一种将内部网和公众访问网分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外。
  • netfilter是内核防火墙框架,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换等
  • 系统提提供两种管理工具,对防火墙策略进行管理(对netfilter中的数据进行修改)。firewlld以及iptables。

filrewalld

  • 动态防火墙后台程序 firewalld 提供了一个 动态管理的防火墙, 用以支持网络 “ zones” ,以分配对一个网络及其相关链接和界面一定程度的信任。
  • firewalld 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件里
  • firewalld提供图形界面管理(firewall-config)以及命令管理(firewall-cmd)

firewalld域(zones)

基于用户对网络所给与的信任程度,防火墙可以将网络分割成不同的9个区域 。

在这里插入图片描述

  • 只允许172.25.254.16连接:
    [root@server ~ ]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.16 -j ACCEPT
    success

  • 只不允许172.25.254.16连接,其他主机是可以连接的:
    [root@server ~ ]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 ! -s 172.25.254.16 -j ACCEPT
    success

  • 删除只允许172.25.254.16连接的设定:
    [root@server ~ ]# firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.16 -j ACCEPT
    success

  • 删除只不允许172.25.254.16连接,其他主机是可以连接的设定:
    [root@server ~ ]# firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 ! -s 172.25.254.16 -j ACCEPT
    success

firewall-config

firewall-config #进入图形界面设置防火墙策略
1 Runtime 设置临时策略,当即生效,但是系统重启或者重新加载防火墙设配置后失效

在这里插入图片描述
2 Permanent 永久设置,设置完成后需要重新加载防火墙配置,一旦设定永久生效

在这里插入图片描述
firewall-cmd 基本命令:

1、开启firewalld服务

为了避免firewlld和iptables产生冲突,再进行实验时候,先关闭iptables,开启firewalld。
systemctl stop iptables #关闭iptables服务
systemctl mask iptables.service #锁定iptables服务
systemctl disable iptables #设置iptables开机不自启动
systemctl start firewalld #启动firewalld服务
systemctl enable firewalld #设置firewalld开机自启动

2、域的查看和设置

firewall-cmd --get-zones #查看所有的域
firewall-cmd --get-default-zone #查看默认的域
firewall-cmd --set-default-zone=trusted #设置默认的域
firewall-cmd --state #查看防火墙状态,开启为running 关闭为 not running。

3 、查看域的防火墙策略

firewall-cmd --list-all #查看默认域的所有防火墙策略,没有指定域就是查看默认域
firewall-cmd --list-all --zone=trusted # 查看指定域的所有防火墙策略
firewall-cmd --list-services --zone=public #查看指定域的某一项策略(services)
firewall-cmd --list-ports --zone=public # 查看指定域的某一项策略(ports)
firewall-cmd --list-all-zones # 查看所有域的所有防火墙策略

firewall-cmd --add-service=ftp #临时添加ftp服务到默认域,立即生效
firewall-cmd --add-service=http --permanent #永久添加http服务到默认域,加载后生效
firewall-cmd --reload #重新加载配置,临时添加的服务失效,永久添加的服务生效。

二、路由端口打开,地址转换

实验目的:当其他ip连接该ip 时,会默认连接到172.25.254.16这个ip。

服务端
[root@server ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ftp ssh
ports:
masquerade: no #把no改成“yes",即把路由功能打开。
icmp-blocks:
rich rules:

[root@server ~]# firewall-cmd --permanent --add-masquerade
success
[root@server ~]# systemctl restart firewalld #开启路由功能后一定要重新启动防火墙
[root@server ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ftp ssh
ports:
masquerade: yes
forward-ports:
icmp-blocks:
rich rules:

[root@server ~]# firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.35 #添加地址转换ip,当其他ip连接该ip时,会默认连接到ip:172.25.254.35
success
[root@server ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ftp ssh
ports:
masquerade: yes
forward-ports: port=22:proto=tcp:toport=22:toaddr=172.25.254.35
icmp-blocks:
rich rules:

客户端:
测试:
[root@kehu ~]# ssh root@172.25.254.116

##删除已经添加的默认转换地址ip:
[root@server ~]# firewall-cmd --remove-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.35 ##删除转换地址ip
success

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值