首页 > 其他分享 >OPNsense安装与使用

OPNsense安装与使用

时间:2023-11-20 18:33:49浏览次数:27  
标签:DNS IP 别名 点击 OPNsense 设置 使用 安装

OPNsense安装与使用

本文参考OPNsense中文手册OPNsense 防火墙系列一:安装、基础配置(PPPoE、IPv6、更换软件源)
(都是优秀文章和作者,有问题推荐看看他们的文章)

简介

为了管控IPV6和为了一定程度上的安全性,我从 爱快 转到了 OPNsense

以下来自OPNsense简介
OPNsense®是一个 开源易用易于构建 的基于FreeBSD防火墙路由平台
OPNsense包括昂贵的商业防火墙中提供的大多数功能。它带来了丰富的商业产品功能集,具有开放和可验证来源的优势。

使命宣言

为用户,开发人员和企业提供友好,稳定和透明的环境。使OPNsense成为使用最广泛的开源安全平台。该项目的名称源于开放和意义,代表:“开放(源)是有道理的。”

功能集

OPNsense的功能集包括高端功能,如 正向缓存代理流量整形入侵检测 和简单的 OpenVPN客户端 设置。最新版本基于最新的 FreeBSD,并使用基于 Phalcon 的新开发的 MVC框架OPNsense 对安全性的关注带来了独特的功能,例如使用 LibreSSL 而不是 OpenSSL(在GUI中可选)和基于 HardenedBSD 的自定义版本。
强大而可靠的更新机制使 OPNsense 能够及时提供重要的安全更新。

OPNsense核心功能

  • 流量整形
  • 强制门户网站
    • 凭证支持
    • 模板管理
    • 多区域支持
  • 正向缓存代理
    • 支持透明模式
    • 黑名单支持
  • 虚拟专用网
    • 站点到站点
    • Road warrior
    • IPsec
    • OpenVPN
  • 高可用性和硬件故障转移
    • 包括配置同步和同步状态表
    • 可以与流量整形相结合
  • 入侵检测和内联预防
    • 对Emerging Treats规则的内置支持
    • 使用规则类别进行简单设置
    • 定期自动更新
  • 内置报告和监控工具
    • 系统健康、RRD图表
    • 数据包捕获
  • 支持插件
  • DNS服务器和DNS转发器
  • DHCP服务器和中继
  • 动态DNS
  • 备份和还原
    • 加密云备份到Google云端硬盘
    • 配置的历史记录
    • 本地驱动器备份和还原
  • 状态检查防火墙
  • 对状态表进行精细控制
  • 802.1Q VLAN支持
  • 更多..

注意

  1. OPNsense 是一个防火墙,所以并不支持 NAT1(也就是 全锥型NAT,当然曲线救国方法也有 1:1 NAT ),所以最高能支持到 端口限制型NAT,但是 UPNP缓解这一问题(不推荐,更推荐 端口转发
  2. 截止2023年11月6日,ESXI快照功能会影响 OPNsense报告功能入侵检测 功能,表现为 CPU占用极高,同 群晖 的虚拟机备份也会影响 OPNsense报告功能入侵检测 功能
  3. ZFS 文件系统不推荐使用在虚拟机中,极高内存要求可能会导致其他错误,更推荐使用 UFS 文件系统

先前准备

  1. 两台电脑(双网口以上)
  2. 大于20G存储(推荐50G)
  3. RJ45网线
  4. 显示器和键盘

硬件要求

我是用的 i5-1135G7 64G内存 1T SN550 配置 ,系统是 ESXI8 ,网卡全虚拟,并没有做直通
下图仅供参考:
OPNsense轻负载CPU占用
OPNsense 轻负载 CPU占用

接近满速OPNsense CPU占用
OPNsense 高负载CPU占用

支持的硬件架构

OPNsense® 适用于 x86-32(i386)x86-64(amd64) 处理器架构。OPNsense 可以在 SD存储卡固态硬盘(SSD)硬盘驱动器(HDD) 上进行完整安装。

虽然支持的设备范围从嵌入式系统到机架式服务器,但如果硬件能够运行64位操作系统,我们建议使用 64位版本OPNsense 。可以在 64位(x86-64,amd64) PC硬件上安装和运行 32位(x86-32,i386) 版本的OPNsense®,但我们不建议这样做,特别是不适用于全新的部署安装

硬件要求

最低要求:只需要运行不需要磁盘写入OPNsense 标准功能,或少量写入磁盘的一些功能, 例如缓存代理 (缓存)入侵检测预防 (警报数据库)

处理器 500MHz单核cpu
内存 512 MB
安装方法 串行控制台或视频(vga)
安装目标 SD或CF卡至少4GB,使用nano镜像进行安装。

合理要求:运行所有OPNsense标准功能,但没有大量用户或高负载的情况。

处理器 1 GHz双核CPU
内存 1 GB
安装方法 串行控制台或视频(vga)
安装目标 40 GB SSD,安装程序运行至少需要1GB内存。

推荐要求:能够流畅运行所有OPNsense标准功能,适合大多数的使用情况。

处理器 1.5 GHz多核CPU
内存 4GB
安装方法 串行控制台或视频(vga)
安装目标 120 GB SSD

OPNsense所需的硬件将由预期的最小吞吐量功能来决定。

功能影响
虽然大多数功能不会影响硬件性能,但有一些功能会产生巨大影响。比如:

Squid
用于 Web内容控制高速缓存Web代理。这些软件包强烈依赖CPU负载磁盘缓存写入
强制门户
具有数百个同时服务的强制门户用户的设置将需要在下面显示的所有硬件规范中具有更多CPU的效能
状态表
每个状态表条目需要大约 1KB(千字节)RAM。填充了1000个条目平均状态表 将占用大约 10MB(兆字节)RAM。具有数十万个连接的OPNsense使用设置将相应地需要更多的内存

吞吐量影响
OPNsense设置 的主要硬件因素是 CPURAM大容量存储(光盘),网络接口的数量质量

吞吐量(MBPS) 硬件要求 功能 用户/网络
1-10 基本要求 很少 很少(1-10)
11-150 最低要求 一般 一般(10-30)
151-350 合理要求 所有 大量(30-50)
350-750 + 推荐要求 所有 大量+(50-150 +)
Mbps(Mbit / s或Mb / s)

网卡
正如FreeBSD硬件列表和建议所说,用于LAN 连接的使用英特尔®网卡(NIC)更可靠、快速且不容易出错。英特尔芯片组NIC可以在降低CPU负载的情况下提供更高的吞吐量。

支持的硬件

FreeBSD 11.1-RELEASEOPNsense 的基础(现在应该是 FreeBSD 13)。所有 FreeBSD驱动程序 都包含在 OPNsense内核中,硬件兼容性相同。
如需进一步的帮助和支持,请参阅


安装

镜像下载

先从官网下载新版的安装镜像
如图设置:
OPNsense下载设置
也可以使用 Peking University open source software mirror 镜像源(北京大学镜像站)

安装OPNsense

  1. 系统选择 FreeBSD 13
  2. CPU 尽量分配较多的核心,如果是 1G 外网,可以限制 CPU 份额 5000MHZ
  3. 内存也是尽量往大了选( 4G 朝上),如果开启 入侵检测 ,规则集多了,很吃内存和硬盘
  4. 硬盘大小选择 50G 如果使用 ESXI或者 PVE ,硬盘最好使用 厚置备,置零

启动虚拟机或者物理机,等待至如图画面,中途请勿随意按键盘
OPNsense安装界面

输入账号installer 密码opnsense,会车显示如下图
OPNsense键盘选择

  1. 选择 Install (UFS)
  2. FreeBSD 硬盘一般是 da 开头,如果是单硬盘,选择 da0 就行
  3. 它会问你是否新建 8G 交换空间,看你需求
  4. 它会问你是否安装在 da0 硬盘上
  5. 等待系统安装完成
  6. 更改 ROOT 密码
  7. 重启 拔出安装介质 进入 OPNsense
    如下图完成安装。
    OPNsense终端登陆界面

基础使用

基础设置

输入 https://192.168.1.1 进入 OPNsense后台设置

自行设置电脑或者手机与 OPNsense 同网段 192.168.1.0/24

  1. 默认会跳转到向导界面,点击 下一步(Next) 进行设置
    如图自行设置
    OPNsense常规设置
  2. 时区设置为 Asia/Shanghai,下一步
  3. 设置 WAN
  4. 设置 LAN
  5. 确定 ROOT 密码为空则不修改
  6. 重载系统

更换镜像源

默认的镜像速度很慢,所以我们需要更换镜像源

  1. 点击 系统: 固件 ,然后点击 设置 ,在 镜像 选项选择 Aivian (HTTPS,Shangxing,CN),然后保存

如果要 自定义的镜像源 则选择 (custom) ,填入 http://mirrors.pku.edu.cn/opnsense/ (北京大学镜像源,请勿自行改成 https) 或者 http://mirrors.163.com/opnsense/ (网易镜像源,请勿自行改成 https),然后保存

  1. 点击 状态 ,点击 检查升级

接口设置

接口分配

点击 接口: 分配 ,在这可以看到 接口描述标识符接口设备(接口在系统名称)
如果没有 WAN口 ,我们可以在下面 Assign a new interface ,选择 设备 vmx* (一般是 vmx 开头), 然后在 描述 里输入 名称 (全英文和数字,不要有特殊符号,可以全大写)

WAN口设置

  1. 点击 接口: [WAN]
  2. 勾选 阻止私有网络 (私有网络IP,更多详情点击 阻止私有网络 旁的感叹号) 和 拦截bogon网络 (保留IP,更多详情点击 拦截bogon网络 旁的感叹号)
  3. 如果是 PPPOE拨号 上网,则在 IPv4配置类型 选择 PPPoE
    如果是 DHCP 上网,则在 IPv4配置类型 选择 DHCP
    如果是 静态V4 上网,则在 IPv4配置类型 选择 静态IPV4
  4. 如果是 PPPOE拨号 上网,下滑到 PPPoE配置 ,在 用户名 密码 填入对应参数,更多高级设置,请进入 接口: 点对点: 设备,保存
    如果是 DHCP 上网,下滑到 DHCP客户端配置 查看是否有需要设置的,然后保存
    如果是 静态V4 上网,下滑到 静态IPv4配置 ,填入 IPv4地址和掩码 ,点击 IPv4上游网关 那一行的 + 号,勾选 默认网关 ,填入 IPv4网关网关名称 根据需求修改,保存
  5. 有关 IPV6设置 ,请看本文这里

LAN口设置

  1. 点击 接口: [LAN]
  2. 取消勾选 阻止私有网络 (私有网络IP,更多详情点击 阻止私有网络 旁的感叹号) 和 拦截bogon网络 (保留IP,更多详情点击 拦截bogon网络 旁的感叹号)
  3. IPv4配置类型 选择 静态IPV4
  4. 下滑到 静态IPv4配置 , 填入 IPv4地址 (在 10.0.0.0/8172.16.0.0/12192.168.0.0/16 中任选) ,并选择对应 子网掩码 (影响 DHCPV4 分配),保存

网页设置

反代理设置

主要针对的是通过 nginxOPNsense 进行反代理,需要在 OPNsense 修改选项

点击 系统: 设置: 管理 ,勾选 禁用Web GUI重定向规则禁用DNS重绑定检查禁用HTTP_REFERER强制检查,然后保存
如果遇到 CSRF check failure 请看本文这里

开启安全Shell

点击 系统: 设置: 管理 ,勾选 启用安全Shell允许root用户登录允许密码登录 ,并 监听接口 全部接口,然后保存

系统DNS设置

设置网关DNS

这个一般用于系统的DNS(具体作用不太清楚,但要设置)

  1. 打开 系统: 设置: 常规 , 下滑到 网络 ,找到 DNS服务器 选项并填入 DNS (阿里:223.5.5.5 腾讯:119.29.29.29 更多请百度
  2. 文本框 后面选择你的 WAN网关 ,保存
    设置 参考 下图:
    OPNsense 网关路由DNS

设置Unbound DNS

这个主要是给局域网用的,支持 dot 加密查询,功能比较多

  1. 打开 服务: Unbound DNS: 常规 ,点击 启用Unbound启用DNSSEC支持 ,保存
  2. 打开 服务: Unbound DNS: 查询转发 ,取消勾选 使用系统DNS服务器 ,在下面 添加一条 ,并填入 DNS (阿里:223.5.5.5 腾讯:119.29.29.29 更多请百度),然后保存 应用
  3. DOT查询设置(没需求这条可以跳过),打开 服务: Unbound DNS: DoT ,取消勾选 使用系统DNS服务器 ,在下面 添加一条 ,勾选 启用服务器IP 填入 DNS服务商IP (官网一般会写), 服务器端口 填入 853dot 默认端口), 验证CN 填入 DNS服务商域名` (官网一般会写),然后保存 应用
    参考 图片设置:
    OPNsense 设置Unbound DNS

DHCPv4设置

OPNsense 的 DHCPv4 分配IP只能在网段内

  1. 打开 服务: DHCPv4: [LAN]
  2. 参考如图自行设置,网关DNS 可以不填
    OPNsense DCHPv4

端口限制型 NAT

主要是设置 NAT静态端口 ,所有从同一个内网的(IP,端口)发送出来的请求都会被映射到通过一个外网(IP,端口)
更多介绍查看NAT的四种分类:全锥形NAT,地址受限锥形NAT,端口受限锥形NAT,对称NAT

OPNsense 默认只支持到 对称型NAT ,在打洞等方面极其不友好
我们可以通过 防火墙: NAT: 出站混合生成出站NAT规则 添加 手动规则 实现 端口限制型 NAT
设置参考本文这里 第四点第五点必须打开 IPV4静态端口 选项(这个是重点),如果没有 NATv6需求 无需添加 IPV6出站规则
IPV4设置如图:
OPNsense NATv4 静态端口

IPV6设置

注意
如果被运营商分配 IPV6地址64掩码,并没有 IPV6-PD(也就是前缀),是不能给 下联设备 分配 公网IPV6 的,只能使用 NATv6

前缀请求必须和下发前缀的掩码一样,不然不能下发 IPV6

如果使用IPV6检测并提示IPV6大包错误,请调整 接口: [WAN]通用配置MSS ,通常为 1430 (MTU(计算的PPP MTU: 1492) - 60),根据情况可 适当减小别小于 1260 就行(比这小就不能跑 ipv6 了)
Win:

ping -l 1500 baidu.com (减小 -s 后面数值,直到ping通为止,-s 后面数值则为 MSS 大小)

Linux:

ping -s 1500 baidu.com (减小 -s 后面数值,直到ping通为止,-s 后面数值则为 MSS 大小)

公网V6

通过设置出站,同样可以实现 NATv6 ,参考本文这里 第四点第五点
另一种实现方式可以参考本文这里

  1. 点击 接口: [WAN],下滑到 通用配置 里找到 IPV6配置类型 选择为 DHCPv6
  2. 下滑到 DHCPv6客户端配置,打开 仅请求IPv6前缀发送IPv6前缀提示使用IPv4连接前缀委派大小 设置为 60 (要与下发前缀匹配,不然会出BUG),保存
    可以在 接口: 概况 里查看 IPv6前缀 ,如图
    OPNsense WAN概况
  3. 点击 接口: [LAN]通用配置IPV6配置类型 设置为 跟踪接口,下滑到 跟踪IPv6接口 打开 允许手动调整DHCPv6和路由器通告
  4. 点击 防火墙: 设置: 高级 ,在 IPv6选项 打开 允许IPv6,然后保存
  5. 点击 服务: DHCPv6: [LAN] (像安卓就不支持 DHCPv6 )或者 服务: 路由器通告: [LAN] (一般使用 路由器通告)
    DHCPv6
    设置 范围 并设置 DNS服务器,点击 在LAN接口上启用DHCPv6服务,然后 保存如图参考
    DHCPv6设置
    路由器通告
    打开 通告默认网关 并设置 DNS服务器路由器通告 选项为 Assisted,保存,如图参考
    OPNsense 路由器通告设置
  6. 现在就能看在手机或者电脑看到 IPV6地址 ,使用IPV6检测

NATv6

  1. 点击 接口: [WAN],下滑到 通用配置 里找到 IPV6配置类型 选择为 DHCPv6
  2. 点击 接口: [LAN]通用配置IPV6配置类型 设置为 静态IPV6 ,下滑到 静态IPv6配置 自行设置 IPv6地址 (在 fd00::/8挑选一个),推荐 掩码 设置为 64
  3. 点击 防火墙: 设置: 高级 ,在 IPv6选项 打开 允许IPv6,然后保存
  4. 点击 防火墙: NAT: 出站 ,在 模式 里选择 混合生成出站NAT规则 ,然后保存
  5. 防火墙: NAT: 出站手动规则 里添加 两条规则 (一条是 IPV4 另一条 IPV6),有关 静态端口 选项作用描述 请参考本文这里
    如图设置:
    完成样子
    OPNsense NAT出站
    IPV4设置,IPV6类似( TCP/IP版本 选项选择 IPV6 即可):
    OPNsense NAT出站ipv4设置详情
  6. 点击 服务: DHCPv6: [LAN] (像安卓就不支持 DHCPv6 )或者 服务: 路由器通告: [LAN] (一般使用 路由器通告)
    DHCPv6
    设置 范围 并设置 DNS服务器,点击 在LAN接口上启用DHCPv6服务,然后 保存如图参考
    DHCPv6设置
    路由器通告
    打开 通告默认网关 并设置 DNS服务器路由器通告 选项为 Assisted,保存,如图参考
    OPNsense 路由器通告设置
  7. 现在就能看在手机或者电脑看到 IPV6 地址,使用IPV6检测

NPTv6公网V6(实验性)

这种实现公网v6方式,兼具 了内网 可管理性,不因为 前缀变化 导致防火墙 规则失效 ,同时保证了 地址独立性 (类似 80端口 可以 共用),更多介绍可以参考IPv6至IPv6网络前缀翻译适用于 IPv6 的无状态源网络前缀转换
这种实现方式同样需要 ipv6前缀

  1. 点击 接口: [WAN],下滑到 通用配置 里找到 IPV6配置类型 选择为 DHCPv6
  2. 点击 接口: [LAN]通用配置IPV6配置类型 设置为 静态IPV6 ,下滑到 静态IPv6配置 自行设置 IPv6地址 (在 fd00::/8挑选一个),推荐 掩码 设置为 64
  3. 点击 防火墙: 设置: 高级 ,在 IPv6选项 打开 允许IPv6,然后保存
  4. 点击 防火墙: NAT: NPTv6 ,点击 + 号,在 内部IPv6前缀 填入 NPTv6公网V6第二步IPv6地址 的前缀(如果填入的是 fd88::1/64,那么 前缀 则是 fd88::/64,那就填入 fd88:: ,后面选择 64),然后保存即可
  5. 点击 服务: DHCPv6: [LAN] (像安卓就不支持 DHCPv6 )或者 服务: 路由器通告: [LAN] (一般使用 路由器通告)
    DHCPv6
    设置 范围 并设置 DNS服务器,点击 在LAN接口上启用DHCPv6服务,然后 保存如图参考
    DHCPv6设置
    路由器通告
    打开 通告默认网关 并设置 DNS服务器路由器通告 选项为 Assisted,保存,如图参考
    OPNsense 路由器通告设置
  6. 现在就能看在手机或者电脑看到 IPV6 地址,使用IPV6检测

网络时间设置(NTP对时)

点击 服务: 网络时间: 常规 ,默认是(忘了( • ̀ω•́ )✧)
推荐几个NTP服务器

  • 腾讯云NTP授时服务器地址

    ntp.tencent.com
    ntp1.tencent.com

  • 阿里NTP授时服务器地址

    ntp.aliyun.com

  • 教育网内的授时服务器

    edu.ntp.org.cn
    2001:da8:9000::130
    2001:250:380A:5::10
    202.118.1.130
    202.118.1.81

  • 中国计量科学研究院 NIM 授时服务

    ntp1.nim.ac.cn
    ntp2.nim.ac.cn
    111.203.6.13

  • 教育网(高校自建)

    ntp.sjtu.edu.cn
    ntp.neu.edu.cn
    ntp.bupt.edu.cn
    ntp.shu.edu.cn
    ntp.tuna.tsinghua.edu.cn # 清华大学(ipv4/ipv6)

  • 国家授时中心 NTP 服务器

    ntp.ntsc.ac.cn
    114.118.7.161
    114.118.7.163

  • 中国 NTP 快速授时服务

    cn.ntp.org.cn
    2001:da8:9000::81
    223.113.97.98
    114.67.103.73
    119.29.26.206
    120.25.115.20

  • 香港地区

    hk.ntp.org.cn
    stdtime.gov.hk

  • 台湾地区

    tw.ntp.org.cn

  • 日本

    jp.ntp.org.cn

  • 韩国

    kr.ntp.org.cn

  • 新加坡

    sgp.ntp.org.cn

  • 美国

    us.ntp.org.cn

  • 德国

    de.ntp.org.cn

  • 印度尼西亚

    ina.ntp.org.cn

  • 国际 NTP 快速授时服务

    cn.pool.ntp.org

  • 国外授时服务器

    time1.apple.com
    time2.apple.com
    time3.apple.com
    time1.google.com
    time2.google.com
    time3.google.com
    time.cloudflare.com
    time.windows.com
    time.nist.gov # 美国标准技术研究院 NTP 服务器
    time-nw.nist.gov
    time-a.nist.gov
    time-b.nist.gov

  • 国际 NTP 快速授时服务

    pool.ntp.org
    0.pool.ntp.org
    1.pool.ntp.org
    2.pool.ntp.org
    3.pool.ntp.org
    asia.pool.ntp.org


进阶使用

别名

OPNsense别名 是个非常强大的功能,在我们遇到遇到一堆主机需要使用相同的隔离规则的时候,不肯能一个一个添加,这太麻烦了,这个时候 别名 就起到了大作用

别名类型

首先我们先看看 别名类型 有哪些,有什么作用(以下来自OPNsense防火墙别名的使用

主机
主机别名 类型允许输入 IP 地址本地主机名完全限定域名 (FQDN) 。如果需要经常在规则中引用 IP 地址,则可以将其设为 主机别名 并在 规则 中使用该别名。由于 防火墙规则 仅允许 IP网络地址,因此必须使用 别名 才能在规则中使用 主机名FQDN
主机别名 还允许使用 ! 排除对象。例如,如果输入 !192.168.1.10,则表示排除 192.168.1.10。排除选项 只对 IP 地址 有效。
主机别名 示例:

  • IP 地址192.168.1.10!192.168.1.10(也允许 IPv6 地址
  • 本地主机名(不带域名)myserver!myserver
  • FQDNpfchina.org!pfchina.org
  • 可以在别名中输入以 逗号分隔IP 地址主机名FQDN 的任意组合的多个值,例如:

    192.168.1.10 , 192.168.1.11, myserver1, pfchina.org

网络
网络别名 允许以 CIDR 格式 输入网络的 IP 地址范围CIDR 表示法 是通过使用设置为 1 的位数来定义子网掩码的方法。其余设置为 0。在 192.168.1.0/24 的示例中,/24CIDR 表示法 网络地址的 一部分,相当于 子网掩码 255.255.255.0。允许排除网络别名,如 主机别名
网络别名 示例:

  • 192.168.1.0/24!192.168.1.0/24(也允许 IPv6 地址
  • 可以输入 多个网络

    192.168.1.0/24, 192.168.2.0/24

端口
端口别名 允许指定 端口号。可以输入 065,535 之间的数字。要指定一系列 连续端口,请在端口号之间使用 冒号:)。
端口别名 示例:

  • 端口8080
  • 端口范围8000:8080
  • 可以输入 多个端口,包括 端口范围

    22, 8000:8080

URL (IPs)
网址(IPs)别名 用于托管在网站上的 IP 地址列表。在 OPNsense 文档中没有提及 URL (IPs)别名类型。将 URL (IPs)URL Table (IPs) 进行比较时,主要区别在于 刷新频率URL (IPs) 用于 IP 地址静态列表
网址(IPs)别名 可以使用 域名主机名IPV4地址IPV6地址IP 地址范围(CIDR 格式)
URL (IPs)别名 示例:

  • https://domainname.com/ip-list.txt
  • 可以输入 多个 URL

    https://domainname.com/ip-list.txt, https://domainname2.com/ip-list2.txt

URL Table (IPs)
URL Table (IPs)别名 用于 IP 地址列表,如 URL (IPs)别名。大多数用户最喜欢使用这个 URL 别名类型 ,它可以 定期刷新,对于阻止列表很有用。URL Table (IPs)别名 可以 指定更新间隔
URL Table (IPs)别名 可以使用 域名主机名IPV4地址IPV6地址IP 地址范围(CIDR 格式)
URL Table (IPs)别名 示例:

  • https://domainname.com/ip-list.txt
  • 可以输入 多个 URL

    https://domainname.com/ip-list.txt, https://domainname2.com/ip-list2.txt

GeoIP
当需要阻止来自 其他国家/地区IP/网络地址 时,可以使用 GeoIP别名。托管在云上的服务和通过 VPNTorSSH 建立 隧道网络 连接,很容易绕过 GeoIP阻止。但是它仍然很有用,它可以 阻止 来自不熟练的攻击者 或来自其他国家的受感染机器的随机攻击。
要设置 GeoIP别名,必须注册 MaxMindGeoIP 服务 以获取完全配置 GeoIP 别名 所需的 GeoIP 地址范围
具体设置可以看这里MaxMind GeoIP’s Setup

网络组
网络组别名 可用于 对除 端口别名外部(高级)别名 类型之外的 其他别名 类型进行分组。该别名类型仅允许对兼容的别名进行分组。使用 网络组别名 的主要好处是它可以防止对 不兼容 的别名进行分组。
网络组别名 示例:

  • hostalias1, hostalias2, urlalias(从下拉列表中选择)

MAC地址
MAC 地址别名 允许在 别名 中使用 MAC 地址MAC 地址别名 无法 杜绝恶意用户 使用 欺骗MAC地址,这是该别名使用存在的缺陷。
MAC 地址别名 更新是需要时间的,如果客户端一直不使用 IP 进行访问,则不会记录 MAC 地址 所使用的 IP
MAC 地址别名 示例:

  • 3f:cf:3f:1f:7f:bf
  • 也可以输入多个 MAC 地址:

    3f:cf:3f:1f:7f:bf, 3e:ce:3e:1e:7e:be

外部(高级)
当希望外部进程管理防火墙中别名的值时,可以使用 外部(高级)别名 类型。如果需要动态更改别名的值,这会非常方便。由于 OPNsense 具有 防火墙 API,可以更好的从外部进程更新/管理防火墙规则。(说得好,不会用 ̄ω ̄=)

别名嵌套
对于所有别名类型,可以在别名中 嵌套别名。如果希望将多个别名组合在一起,这会很有用。例如,如果有 server1server2 的别名,可以创建一个名为 myservers 的第三个别名,其中包含 server1server2 。这样做,可以在它们自己的特定防火墙规则中使用 server1server2 别名,但随后有适用于两个服务器的更广泛的防火墙规则。

删除别名
删除嵌套 在另一个别名中和/或防火墙规则当前正在使用的别名,将收到错误消息。这样的设置可以防止违反任何防火墙规则。

创建别名

那么我们已经了解了 别名类型 就开始正式上手把
在上手之前提醒一下,别删内置的别名(反正你也删不了(~ ̄▽ ̄)~ )

  1. 点击 防火墙: 别名 ,点击下方的 + 号,创建别名
  2. 输入别名名称(名称必须以 字母单个下划线 开头,少于 32个字符,并且仅由 字母数字字符下划线 组成。可以使用此名称嵌套别名。)
  3. 选择类型(参考本文这里
  4. 输入内容
  5. 输入描述(看你心情填与否)
  6. 保存

端口转发

相比 UPNP (通用随插即用) 端口转发手动控制转发安全性要好一点

普通转发

  1. 点击 防火墙: NAT: 转发 ,点击上方的 + 号,创建规则
  2. 接口 通常选择 WAN
  3. TCP/IP版本 看你需求
  4. 协议 一般选择 TCP/UDP
  5. 目标 一般为 WAN网络 或者 WAN地址
  6. 目标端口范围 如果只转发一个端口,则填一样,如果转发一段端口, 填入 开始端口 填入 结束端口
  7. 重定向目标IP 可以填入 别名单主机别名 相关请看这里
  8. 重定向目标端口 填入想要 转发端口,如果是一段端口,则填入 开始端口(1:1对应)
  9. 保存,应用更改

目标重定向

对某个目标的端口进行重定向,这边就拿 DNS重定向 举例:

  1. 点击 防火墙: NAT: 转发 ,点击上方的 + 号,创建规则
  2. 接口 通常选择 LAN
  3. TCP/IP版本 看你需求
  4. 协议 一般选择 TCP/UDP
  5. 勾选 目标 / 反转
  6. 目标 一般为 LAN网络 或者 LAN地址
  7. 目标端口范围 选择 DNS
  8. 重定向目标IP 填入 127.0.0.1 或者 DNS服务器
  9. 重定向目标端口 选择 DNS
  10. 保存,应用更改

禁止重定向

如果我们不需要对 某个IP 重定向,这边那上面的 DNS重定向 举例
假设内网的 DNS查询 重定向到 192.168.1.2 ,这个时候我们需要取消对 192.168.1.2 重定向

  1. 点击 防火墙: NAT: 转发 ,点击上方的 + 号,创建规则
  2. 勾选 禁用重定向
  3. 接口 通常选择 LAN
  4. TCP/IP版本 看你需求
  5. 协议 一般选择 TCP/UDP
  6. 勾选 目标 / 反转
  7. 目标 填入 192.168.1.2
  8. 目标端口范围 选择 DNS
  9. 保存,应用更改

BUG解决

CSRF check failure

如果进入 OPNsense 网页端,登录后,显示 白色背景黑色字 并包含 CSRF 词,多半是 跨站请求伪造 (CSRF) 保护
这种情况一般是 重启后,网页没有刷新,才会跳出,只需要 删除路径 ,直接访问 根目录
如果上面方法不行,可以尝试 无痕模式清理缓存和cookie更换浏览器更换另一种设备 等操作
如果没有效果,并且尝试重启 OPNsense 所有服务后(不是重启,重启可能连系统都打不开),依然如此,可以判定为 PHP挂了

标签:DNS,IP,别名,点击,OPNsense,设置,使用,安装
From: https://www.cnblogs.com/MAENESA/p/17844562.html

相关文章

  • 5W1H分析法是什么?在BI中的使用
    [5W1H分析法是什么?如何运用到实际工作中?](https://baijiahao.baidu.com/s?id=1735845788877312640&wfr=spider&for=pc)01什么是5W1H分析法5W1H是一种结构化分析方法(框架),又称“六何分析法”(何事what、何时when、何地where、何人who、何因why、何法how,另有何费howmu......
  • 苹果电脑 Adobe2023 全家桶 Mac 直装版 最新下载安装
    每一个软件都是亲测上传,都是目前最新的,简化了安装流程适用于小白,全部都是无脑直接安装。Adobe2023全家桶直装版更新日期2023-06-11,包含:AdobeIllustrator、AdobeAcrobatProDC、AdobePremierePro、AdobeAudition、AdobePhotoshop、LightroomClassic、AdobeAfter......
  • 通过api登录接口获得cookie,给selenium使用,绕开登录页面
    1、通过接口登录获得cookiedefget_token_cookie():test=SSO_EXAMPLE()token=test.get_session.json()['token']cookie=test.get_session.cookiesreturntoken,cookietoken,cookie=get_token_cookie()print(token)cookie_value=cookie.v......
  • 开源服务器监控工具——Monit的介绍及使用
    一、Monit简介Monit是一个跨平台的用来监控Unix/Linux系统(比如Linux、BSD、OSX、Solaris)的工具。易于安装,轻量级(只有500KB大小),不依赖于任何第三方程序、插件或者库。Monit可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报......
  • 使用Node.js 常见的问题
    "commandnotfound"错误 *解决方法:*在命令行中输入以下命令:bashsudoyuminstallnodejssudoyuminstallnpm使用btoa()和atob()函数处理字符串 *解决方案:*使用`Buffer.from()`和`.toString()`方法转换字符编码格式。设置NODE_ENV环境变量......
  • linux查看每个cpu核心使用率
    Linux是一种开源的操作系统,它被广泛应用于各种计算机设备和服务器。在Linux系统中,我们可以使用一些命令来查看每个CPU核心的使用率。以下是一些常用的方法: 1.使用top命令:top命令是一个实时的系统监控工具,可以显示当前系统的各种信息,包括CPU的使用率。在终端中输入top命令后,......
  • centos7上安装tkinter
    报错:YoumustinstalltkinteronLinuxtouseMouseInfo.Runthefollowing:sudoapt-getinstallpython3-dev1#yuminstall-ytktk-develtcltcl-devel2重新编译Python$./configure--with-tcltk-includes='-I/usr/local/include'--with-tcltk-l......
  • playwright录制功能使用绕过登录操作
    1.终端上执行下面的命令会生成一个录制页面2.在录制页面输入自己要登录的网址,输入账号密码或者有验证码的,正常的登录操作,操作成功后,会在本地目录生成一个文件保存了cookies  3.下次我们在终端命令输入直接录制的网址即可,已经跳过登录操作了 4.playwrightopen--load-st......
  • 在OpenGL中使用Dear ImGui
    在众多GUI库中,DearImGui用起来最简单,它很容易集成到程序中,绘制的窗口看起来也还不错。可以用它画出非常炫酷的GUI界面:而我则不同:无论使用哪个GUI库,画出来的窗口都惨不忍睹。下面简要介绍如何在OpenGL中使用DearImGui. 1.DearImGui简介以下是DearImGui的相关链接:源代......
  • 函数的基本使用
    ......