通过2台 Opnsense 实现高可用配置
两台电脑(双网口以上)
大于20G存储(推荐50G)
RJ45网线
显示器和键盘
标准配置:运行所有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 设置 的主要硬件因素是 CPU、RAM ,大容量存储,网络接口的数量和质量。
吞吐量(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 14.1-RELEASE 是 OPNsense 的基础(2024年)。所有 FreeBSD驱动程序 都包含在 OPNsense内核中,硬件兼容性相同。如需进一步的帮助和支持,请参阅
可选项 | 选择 |
---|---|
architecture | amd64 |
Select the image type | dvd |
Mirror Location | Aivian(或者Peking University open source software mirror镜像源(北京大学镜像站)) |
启动虚拟机或者物理机,等待至让 输入账号 画面(显示 login:),中途请勿随意按键盘,否则就会进入 配置 VLAN 、 配置 LAGG 画面。
输入账号:installer 密码:opnsense,进入选择 键位图(Keymap Selection)
选择合适的 键位(默认回车就行)
输入 https://192.168.1.1 进入 OPNsense 后台设置。【自行设置电脑或者手机与 OPNsense 同网段 192.168.1.0/24】
1、默认会跳转到向导界面,点击 下一步(Next) 进行设置
可选项 | 选择 |
---|---|
语言 | 中文 |
首选DNS服务器 | 223.5.5.5 |
辅助DNS服务器 | 119.29.29.29 |
覆盖DNS | 不勾选 |
启用解析器 | 勾选 |
启用DNSSEC支持 | 推荐勾选 |
强化DNSSEC数据 | 推荐勾选 |
启用 DNSSEC 支持 可以有效防止 DNS 劫持 ,原理是验证查询结果的 数字签名 强化 DNSSEC 数据 在遇到非权威结果时会直接丢弃,自建 DNS 时 请勿开启 |
2、 时区设置为 Asia/Shanghai,下一步
3、设置 WAN 口
4、设置 LAN 口
5、确定 ROOT 密码,为空则不修改
6、重载系统
默认的镜像速度很慢,所以我们需要更换镜像源
点击【系统: 固件】 ,然后点击【设置】 ,在 【镜像】 选项选择 Aivian (HTTPS,Shangxing,CN),然后保存
如果要 自定义的镜像源 则选择 (custom) ,填入 http://mirrors.pku.edu.cn/opnsense/ (北京大学镜像源,请勿自行改成 https) 或者 http://mirrors.163.com/opnsense/ (网易镜像源,请勿自行改成 https),然后保存 |
点击 【状态】 ,点击【检查升级】
点击 【接口: 分配 】,在这可以看到 【接口描述】 、【 标识符 】和 【接口设备】(接口在系统名称)
如果没有 WAN口 ,可以在下面 Assign a new interface ,选择 【设备 vmx*】 (虚拟机一般是 vmx 开头), 然后在【 描述 】里输入描述内容(全英文和数字,不要有特殊符号,可以全大写)
1、点击 【接口: [WAN]】
2、勾选 【阻止私有网络 】(私有网络IP,更多详情点击 阻止私有网络 旁的感叹号) 和 【拦截bogon网络 】(保留IP,更多详情点击 拦截bogon网络 旁的感叹号)
3、如果是 PPPOE拨号 上网,则在 【IPv4配置类型】 选择 PPPoE
4、如果是 PPPOE拨号 上网,下滑到 【PPPoE配置 】,在 【用户名】 【密码】 填入对应参数,更多高级设置,请进入 【接口: 点对点: 设备】,保存
1、点击 【接口: [LAN]】
2、取消勾选 【阻止私有网络】 (私有网络IP,更多详情点击 阻止私有网络 旁的感叹号) 和 【拦截bogon网络 】(保留IP,更多详情点击 拦截bogon网络 旁的感叹号)
3、【IPv4配置类型】 选择 【静态IPV4】
4、下滑到 【静态IPv4配置 】, 填入 IPv4地址 (在 10.0.0.0/8 、 172.16.0.0/12 、 192.168.0.0/16 中任选) ,并选择对应 【子网掩码 】(影响 DHCPV4 分配),保存
有时一不小心删除了管理网口,这个时候可以通过终端配置网卡
1、在终端中输入 账号密码 ,进入 管理选项
2、输入数字1 ,进入接口分配
3、先问你是否需要配置 LAGGs VLANs ,回车即可跳过
4、接下来会问 WAN 分配的网卡,输入网卡名称
5、然后问你 LAN 分配的网卡,输入 网卡名称(也可回车跳过)
6、后面就是问你 OPTN(N代表数字) 分配的网卡,输入 网卡名称(不填则代表配置结束)
7、最后问你 是否保存 ,输入 y 并回车确定
8、输入 数字2 ,进入 接口设置
9、输入配置接口的 数字
10、先问你是否要 配置DHCP
11、后问你这个接口 地址,请填入 IPV4地址
12、接下来问你是否配置 IPV6地址跟踪WAN
13、然后问你是否将 HTTPS改为HTTP
14、后问你是否创建新的 HTTPS证书
15、最后问你是否 重启组件
16、测试一下是否能够访问,能访问为配置完成
OPNsense 作为开源防火墙,怎么能少了防火墙配置呢。
一般在 添加 、 分配 、 配置 接口后,需要在防火墙规则上配置允许访问的规则,否则无法与防火墙通讯(自动创建规则 允许SSH和WEB 访问)
1、点击【 防火墙: 规则: LAN 】(点击 对应接口 选项卡,这里以 LAN 为例子)
2、点击 橙色的加号 添加规则,这里创建最简单的互访规则(允许 LAN网络 访问 防火墙及其它网络 )参考如下设置:
选项 | 参数 |
---|---|
操作 | 通过 |
禁用 | 不勾选 |
快速 | 勾选 |
接口 | LAN |
方向 | in |
TCP/IP版本 | IPV4(根据情况自行选择) |
协议 | any |
源 / 反转 | 不勾选 |
源 | LAN网络 |
源(高级) | 不更改 |
目标 / 反转 | 不勾选 |
目标 | any |
目标端口范围 | any |
日志 | 不勾选 |
类别 | (根据自己需要填写) |
描述 | Default allow LAN to any rule(根据情况填写) |
不同步XMLRPC | 不勾选 |
计划 | none |
网关 | 默认 |
高级功能 | 不修改 |
3、点击保存。确认无误后,应用更改
有时候需要禁止访问一些IP,设置一些阻止规则丢弃这些包
1、点击 防火墙: 规则: LAN (点击 对应接口 选项卡,这里以 LAN 为例子,禁止 LAN设备 访问 阿里的DNS )
2、点击 橙色的加号 添加规则,这里创建最简单的阻止规则(禁止 LAN设备 访问 阿里的DNS )参考如下设置:
选项 | 参数 |
---|---|
操作 | 阻止(或者拒绝) |
禁用 | 不勾选 |
快速 | 勾选 |
接口 | LAN |
方向 | in |
TCP/IP版本 | IPV4(根据情况自行选择) |
协议 | any |
源 / 反转 | 不勾选 |
源 | LAN网络 |
源(高级) | 不更改 |
目标 / 反转 | 不勾选 |
目标 | 223.5.5.5(鼠标网上划,找到 单个主机或网络 ,即可填写IP,当然也可以填写别名) |
目标端口范围 | 53(也可以填 any ) |
日志 | 不勾选 |
类别 | (根据自己需要填写) |
描述 | 禁止访问阿里DNS(根据情况填写) |
不同步XMLRPC | 不勾选 |
计划 | none |
网关 | 默认 |
高级功能 | 不修改 |
选择 阻止 防火墙会直接丢弃包,而 拒绝 防火墙会返回一个拒绝的包 |
3、点击保存。确认无误后,应用更改。
主要针对的是通过 nginx 对 OPNsense 进行反代理,需要在 OPNsense 修改选项。
点击 【系统: 设置: 管理 】,勾选【 禁用Web GUI重定向规则】 、【 禁用DNS重绑定检查】 、 【禁用HTTP_REFERER强制检查】,然后保存。如果遇到 CSRF check failure 请尝试清理浏览器缓存或重启防火墙服务。
点击 【系统: 设置: 管理 】,勾选 【启用安全Shell】 、 【允许root用户登录】 、 【允许密码登录】 ,并 【监听接口】 【全部接口】,然后保存
这个一般用于系统的DNS
打开【 系统: 设置: 常规 】, 下滑到 【网络 】,找到 【DNS服务器】 选项并填入 DNS (阿里:223.5.5.5 腾讯:119.29.29.29 更多请百度)文本框 后面选择你的 WAN网关 ,保存。设置参考:
DNS服务器 | 应用网关 |
---|---|
119.29.29.29 | WAN_DHCP - wan-100.65.0…… |
2400:3200::1 | WAN_DHCP6 - wan -fe80::3…… |
这个主要是给局域网用的,支持 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 (官网一般会写), 服务器端口 填入 853 (dot 默认端口), 验证CN 填入 DNS服务商域名` (官网一般会写),然后【保存】 应用。DOT 设置参考:
选项 | 选择 |
---|---|
编辑服务器 | |
启用 | 勾选 |
域 | |
服务器IP | 223.5.5.5 |
服务器端口 | 853 |
验证CN | dns.alidns.com |
OPNsense 的 DHCPv4 分配IP只能在网段内
1、打开 【服务: DHCPv4: [LAN]】
2、参考如下,请自行设置,网关 和 DNS 可以不填,默认为路由器本机
选项 | 选择 |
---|---|
启用 | 勾选 |
范围 从 | 192.168.1.10 |
范围 到 | 192.168.1.245 |
主要是设置 NAT静态端口 ,所有从同一个内网的(IP,端口)发送出来的请求都会被映射到通过一个外网(IP,端口)更多介绍查看NAT的四种分类:全锥形NAT,地址受限锥形NAT,端口受限锥形NAT,对称NAT |
OPNsense 默认只支持到 对称型NAT ,在打洞等方面极其不友好
1、通过 【防火墙: NAT: 出站】 的 【混合生成出站NAT规则】 添加 【手动规则】 实现【 端口限制型 NAT】
2、设置参考本文这里 第四点 和 第五点,必须打开 IPV4 的 静态端口 选项(这个是重点),如果没有 NATv6需求 无需添加 IPV6出站规则,IPV4设置如下:
选项 | 选择 |
---|---|
禁用 | 不勾选 |
禁用NAT | 不勾选 |
接口 | WAN(一般选择出口) |
TCP/IP | IPV4 |
协议 | any |
源反转 | 不勾选 |
源地址 | LAN 网络 |
源端口 | any |
目标反转 | 不勾选 |
目标地址 | any |
转换/目标 | 接口地址 |
日志 | 不勾选 |
转换/端口 | |
静态端口 | 勾选 |