OPNsense安装其实很容易,但是远程装就不那么好玩了。
尤其涉及到内网WEBGUI的访问,缺省安装完成以后,只能从内网口访问管理界面,问题是VPC里只有一台Linux机器,还没有浏览器,怎么办?
记录一下安装过程,备查:
一、下载iso镜像并解压
1wget https://pkg.opnsense.org/releases/25.7/OPNsense-25.7-dvd-amd64.iso.bz2
2bzip2 -d OPNsense-25.7-dvd-amd64.iso.bz2
二、kvm用virt-install安装iso,注意桥接了2个网卡
1#!/bin/bash
2mkdir -p /export/kvm/opn/
3
4qemu-img create -f qcow2 /export/kvm/opn/opn.qcow2 20G
5
6virt-install \
7--name=opn \
8--vcpu=2 \
9--ram=2048 \
10--disk path=/export/kvm/opn/opn.qcow2,format=qcow2,size=20 \
11--cdrom=/export/kvm/iso/OPNsense-25.7-dvd-amd64.iso \
12--network bridge=br0,model=virtio \
13--network bridge=br1,model=virtio \
14--os-type unix \
15--os-variant freebsd13.1 \
16--vnc --vnclisten=0.0.0.0 --vncport=5901
三、vnc连到port 5901上进行安装配置
OPNsense公网的网卡、ip、mask、gateway配置
OPNsense内网的网卡、ip、mask配置
四、设置内网访问
这里就非常鬼畜了,首先在内网的那台机器上做port转发,这台机器是192.168.100.2,做个systemd的service:
1cat /etc/systemd/system/opn-proxy.service
2
3[Unit]
4After=network.target
5Wants=network.target
6
7[Service]
8WorkingDirectory=/usr/local/bin/
9Type=simple
10ExecStart=/usr/local/bin/go-tcp-proxy_1.0.2_linux_amd64 -l ":4430" -r "192.168.100.1:4430"
11Restart=on-failure
12RestartSec=1s
13
14[Install]
15WantedBy=multi-user.target
如上的话,如果web访问http://192.168.100.2:4430,那Host: 192.168.100.1 会被转发给 192.168.100.1 的OPNsense的4430端口
那OPNsense的内网IP是192.168.100.1,登录用户是root,密码是xxxxxxxx
从vnc上登录,然后进入shell,找到webgui的部分,添加port和althostnames的两项
1vi /conf/config.xml
2......
3 <webgui>
4 <protocol>https</protocol>
5 <ssl-certref>68adc26101eeb</ssl-certref>
6 <port>4430</port>
7 <althostnames>192.168.100.2</althostnames>
8 </webgui>
9......
然后重启webgui
1configctl webgui restart
然后就可以从能访问到 192.168.100.2:4430 的机器去访问OPNsense的管理界面了。