OPNsense 防火墙系列一:安装、基础配置(PPPoE、IPv6、更换软件源)
说明
OPNsense 其实是我第一次使用的路由防火墙系统,按照官方说法:“OPNsense® 是一个开源的、易于使用和易于构建的基于 FreeBSD 的防火墙和路由平台。”
这里 OpenWrt 不算,OpenWrt 其实只能算是路由器固件或路由操作系统。本来我也只是想要一个支持 PPPoE 和 IPv6 防火墙的路由系统,但经过我的体验, OpenWrt 高度客制化,相当复杂和不稳定,被我放弃。后来,我看到 iKuai 爱快路由系统又试了试,但由于 iKuai 做了产品线切割还售卖硬件防火墙,不能说 iKuai 路由的 IPv6 防火墙聊胜于无,只能说懂得都懂。
后来转念一想,我为什么不找个专业 IPv6 防火墙,只需要它支持 PPPoE 呢?我就网上搜了搜相关内容,选择了 OPNsense 。
经过我的体验, OPNsense 支持功能如下表,可作为选择时的参考。
功能 | 是否支持 | 说明 |
---|---|---|
PPPoE | 是 | |
IPv4 防火墙 | 是 | |
IPv6 防火墙 | 是 | |
IPv4 端口转发 | 是 | |
IPv6 端口转发 | 是 | |
IPv4-IPv6 相互解析 | 是 | FreeBSD 不支持,但通过插件 HAProxy 实现,请参阅后文。 |
入侵检测 | 是 | |
负载均衡 | 是 | |
REST API | 是 | |
简体中文 | 是 | |
WOL 网络唤醒 | 是 | 通过下载官方插件实现 |
DDNS | 是 | 不支持阿里云、腾讯云等国内动态域名解析。通过下载官方插件实现 Cloudflare 等外国 DDNS 。 |
—— | —— | —— |
Docker | 否 | FreeBSD 不支持 |
阿里云 DDNS | 否 | 后续手动通过脚本支持 |
本文仅记录通过 U 盘/ TF 卡安装启动过程。
若要写入硬盘,则请参考: Yogile / OPNsense_Toss_Notes 。
包含以下文章:
- OPNsense安装
- 系统配置并首次系统更新
- 分配网络接口
- 设置DHCPv4
- 设置DHCPv6
- 设置路由器通告
- 设置Unbound
- 设置防火墙
- 设置系统参数
先前准备
一个 4G 大小以上的 U 盘或 SD 卡。
官网下载 OPNsense Nano: 下载 - OPNsense®是真正的开源防火墙等 ,建议家用安装 Nano 版本即可,且仅有 Nano 版本支持 U 盘/ TF 卡。
烧写工具: Rufus - 轻松创建USB启动盘 。
安装主机:
要求 | 支持 | 建议满足最低值 | 说明 |
---|---|---|---|
架构 | x86 | 仅支持 x86 架构 | |
内存 | ddr3、ddr4(ddr2 未试过) | 1G及以上 | |
安装盘 | 硬盘/ U 盘/ SD 卡 | 4G及以上 | |
网口 | RJ45 | 2 个及以上 | 可以通过 USB / Type-C 扩展,但支持程度要去查一下 |
烧写安装
运行 rufus ,选择目标 U 盘,选择下载的 .img.bz2
镜像文件,点击 开始
。
烧写好后,插入目标主机,进 BIOS 设置 U 盘启动顺序最优先,重启。
启动配置
登录
在主机命令行登录 root 账户:
账户 | 密码 |
---|---|
root |
opnsense |
显示 主界面
:
0) Logout 7) Ping host
1) Assign interfaces 8) Shell
2) Set interface IP address 9) pfTop
3) Reset the root password 10) Firewall log
4) Reset to factory defaults 11) Reload all services
5) Power off system 12) Update from console
6) Reboot system 13) Restore a backup
Enter an option:
终端连接 LAN 口
一般来说会自动绑定一个网口到系统 LAN 口,通过 主界面
键入 8
进入 Shell
命令行。
ifconfig
找到,默认绑定 LAN 口(一般固定 IPv4 为 192.168.1.1
),确认绑定成功:
root@OPNsense:~ # ifconfig
igb0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
description: LAN
options=4802028<VLAN_MTU,JUMBO_MTU,WOL_MAGIC,NOMAP>
ether xx:xx:xx:xx:xx:xx
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
......
然后内网终端网线连接 LAN 口,配置终端网络地址自动获取,浏览器输入 192.168.1.1
即可访问 WEB UI 。
配置向导
向导
在 System -> Wizard
中,点击 Next
,通过向导初始化配置。
中文和 DNS 服务器
项目 | 值 | 说明 |
---|---|---|
Language | Chinese(Simplified) | 设置中文 |
Primary DNS Server | 223.5.5.5 | 阿里云DNS |
Secondary DNS Server | 114.114.114.114 | 114DNS |
NTP 服务器和时区
项目 | 值 | 说明 |
---|---|---|
Time server hostname | 0.time.pool.aliyun.com 1.cn.ntp.org.cn 2.ntp.ntsc.ac.cn 3.time1.cloud.tencent.com |
替换 |
Timezone | Asia/Shanghai |
配置 WAN 接口
项目 | 值 | 说明 |
---|---|---|
IPv4配置类型 | PPPoE | |
阻止RFC1918私有网络 | 勾选 | |
拦截bogon网络 | 勾选 |
配置 LAN 接口
自定义网段。
设置 root 密码
建议重设。
重新加载
在向导配置完成后,重新加载。
配置 WAN PPPoE + IPv6
在 接口 -> [WAN]
中,配置:
项目 | 子项目 | 值 | 说明 |
---|---|---|---|
基本配置 | |||
启用接口 | 勾选 | ||
通用配置 | |||
阻止私有网络 | 勾选 | ||
拦截bogon网络 | 勾选 | ||
IPv4配置类型 | PPPoE |
||
IPv6配置类型 | DHCPv6 |
配置 PPPoE | |
PPPoE配置 | |||
用户名 | 自行填入 | ||
密码 | 自行填入 | ||
DHCPv6客户端配置 | |||
配置模式 | 基本 |
配置 PPPoE | |
仅请求IPv6前缀 | 勾选 | 配置 PPPoE | |
使用IPv4连接 | 勾选 | 配置 PPPoE |
保存,并执行更改。
刷新后,一分钟后在 接口 -> 概况
中可以看到可以看到 WAN 口 PPPoE
拨号情况。
配置 LAN
DHCPv4
在 服务 -> DHCPv4 -> [LAN]
中,配置:
项目 | 值 | 说明 |
---|---|---|
在LAN接口上启用DHCP服务器 | 勾选 | |
范围 | 从 192.168.1.100 到 192.168.1.199 |
前后未设置段可以自申请 |
最后还可以设置 DHCP 静态映射。
保存,并应用更改。
IPv6
在 接口 -> [LAN]
中,配置:
项目 | 子项目 | 值 | 说明 |
---|---|---|---|
基本配置 | |||
启用接口 | 勾选 | ||
通用配置 | |||
阻止私有网络 | 不勾选 | ||
拦截bogon网络 | 不勾选 | ||
IPv4配置类型 | 静态IPv4 |
||
IPv6配置类型 | 跟踪接口 |
||
跟踪IPv6接口 | |||
IPv6接口 | WAN |
保存,并应用更改。
刷新后,一分钟后在 接口 -> 概况
中可以看到可以看到 LAN 口情况。
更改软件源
由于 OPNsense 更新过于缓慢,
可以在 系统 -> 固件 -> 设置
中,选择 镜像
为 dns-root.de(HTTPS, Cloudflare CDN)
。
保存,并应用更改,重启系统。
也可以修改软件源到 163 源,但是经过我的测试 163 源有时会提示“该镜像源无软件源”之类的,自己权衡,反正能改。
在
系统 -> 固件 -> 设置
中,选择镜像
为(other)
,复制粘贴值:http://mirrors.163.com/opnsense
。保存,并应用更改,重启系统。
在 系统 -> 固件 -> 状态
中,检查升级
,后在 系统 -> 固件 -> 更新
中进行软件更新即可。
设置 AP
一般来说,设置 桥接
即可。
但我是用的华为 AX3 Pro,无法在桥接后管理 AP 。同时我入的是华为生态,桥接之后也无法通过“智慧生活” APP 看到华为生态设备。
所以建议华为/荣耀路由无线设备通过二级局域网 AP 连接 OPNsense ,而不是作为 AP 或用 OPNsense 开启无线。
二级无线路由设置:
项目 | 值 | 说明 |
---|---|---|
上网方式 | 手动输入 IP (静态IP) |
|
IP 地址 | 192.168.1.2 |
|
子网掩码 | 255.255.255.0 |
|
网关 | 192.168.1.1 |
|
IPv6 | 开启 | 实现 IPv6 中继 |
开始使用
现在, OPNsense 的初始简单配置就基本结束了,现在实现的功能有:
- WAN PPPoE
- LAN 终端 DHCPv4 连接互联网
- LAN 内部局域网 DHCP 公网 IPv6
- 完全禁止外部网络访问/
后续文章会配置:
- OPNsense HTTP SSL 和监听端口修改
- IPv6 端口转发
- 阿里云 DDNS
- WOL 网络唤醒
- 等等