diff --git a/vm/opnsense-vm.sh b/vm/opnsense-vm.sh
index aa73d3c216..f9f3e6fb52 100644
--- a/vm/opnsense-vm.sh
+++ b/vm/opnsense-vm.sh
@@ -9,12 +9,12 @@ source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-sc
function header_info {
clear
cat <<"EOF"
- ____ ____ _ __
- / __ \/ __ \/ | / /_______ ____ ________
+ ____ ____ _ __
+ / __ \/ __ \/ | / /_______ ____ ________
/ / / / /_/ / |/ / ___/ _ \/ __ \/ ___/ _ \
/ /_/ / ____/ /| (__ ) __/ / / (__ ) __/
-\____/_/ /_/ |_/____/\___/_/ /_/____/\___/
-
+\____/_/ /_/ |_/____/\___/_/ /_/____/\___/
+
EOF
}
header_info
@@ -137,7 +137,7 @@ function send_line_to_vm() {
"U") character="shift-u" ;;
"V") character="shift-v" ;;
"W") character="shift-w" ;;
- "X") character="shift=x" ;;
+ "X") character="shift-x" ;;
"Y") character="shift-y" ;;
"Z") character="shift-z" ;;
"!") character="shift-1" ;;
@@ -156,9 +156,6 @@ function send_line_to_vm() {
qm sendkey $VMID ret
}
-TEMP_DIR=$(mktemp -d)
-pushd $TEMP_DIR >/dev/null
-
if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "OPNsense VM" --yesno "This will create a New OPNsense VM. Proceed?" 10 58); then
:
else
@@ -278,12 +275,27 @@ function default_settings() {
fi
echo -e "${DGN}Using LAN VLAN: ${BGN}Default${CL}"
echo -e "${DGN}Using LAN MAC Address: ${BGN}${MAC}${CL}"
- echo -e "${DGN}Using WAN MAC Address: ${BGN}${WAN_MAC}${CL}"
- if ! grep -q "^iface ${WAN_BRG}" /etc/network/interfaces; then
- msg_error "Bridge '${WAN_BRG}' does not exist in /etc/network/interfaces"
- exit
+
+ if NETWORK_MODE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "NETWORK CONFIGURATION" --radiolist --cancel-button Exit-Script \
+ "Choose network setup mode for OPNsense:\n" 14 70 2 \
+ "dual" "Dual Interface (Traditional Firewall/Router)" ON \
+ "single" "Single Interface (Proxy/VPN/IDS Server)" OFF \
+ 3>&1 1>&2 2>&3); then
+ if [ "$NETWORK_MODE" = "dual" ]; then
+ echo -e "${DGN}Network Mode: ${BGN}Dual Interface (Firewall)${CL}"
+ echo -e "${DGN}Using WAN MAC Address: ${BGN}${WAN_MAC}${CL}"
+ if ! grep -q "^iface ${WAN_BRG}" /etc/network/interfaces; then
+ msg_error "Bridge '${WAN_BRG}' does not exist in /etc/network/interfaces"
+ exit
+ else
+ echo -e "${DGN}Using WAN Bridge: ${BGN}${WAN_BRG}${CL}"
+ fi
+ else
+ echo -e "${DGN}Network Mode: ${BGN}Single Interface (Proxy/VPN/IDS)${CL}"
+ WAN_BRG=""
+ fi
else
- echo -e "${DGN}Using WAN Bridge: ${BGN}${WAN_BRG}${CL}"
+ exit-script
fi
echo -e "${DGN}Using Interface MTU Size: ${BGN}Default${CL}"
echo -e "${DGN}Start VM when completed: ${BGN}yes${CL}"
@@ -359,7 +371,7 @@ function advanced_settings() {
fi
if VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 OPNsense --title "HOSTNAME" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
- if [ -z $VM_NAME ]; then
+ if [ -z "$VM_NAME" ]; then
HN="OPNsense"
else
HN=$(echo ${VM_NAME,,} | tr -d ' ')
@@ -370,7 +382,7 @@ function advanced_settings() {
fi
if CORE_COUNT=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate CPU Cores" 8 58 4 --title "CORE COUNT" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
- if [ -z $CORE_COUNT ]; then
+ if [ -z "$CORE_COUNT" ]; then
CORE_COUNT="2"
fi
echo -e "${DGN}Allocated Cores: ${BGN}$CORE_COUNT${CL}"
@@ -566,12 +578,11 @@ fi
msg_ok "Using ${CL}${BL}$STORAGE${CL} ${GN}for Storage Location."
msg_ok "Virtual Machine ID is ${CL}${BL}$VMID${CL}."
msg_info "Retrieving the URL for the OPNsense Qcow2 Disk Image"
-URL=https://download.freebsd.org/releases/VM-IMAGES/14.2-RELEASE/amd64/Latest/FreeBSD-14.2-RELEASE-amd64.qcow2.xz
-sleep 2
-msg_ok "${CL}${BL}${URL}${CL}"
+URL="https://download.freebsd.org/releases/VM-IMAGES/14.2-RELEASE/amd64/Latest/FreeBSD-14.2-RELEASE-amd64.qcow2.xz"
+msg_ok "Download URL: ${CL}${BL}${URL}${CL}"
curl -f#SL -o "$(basename "$URL")" "$URL"
echo -en "\e[1A\e[0K"
-FILE=Fressbsd.qcow2
+FILE=FreeBSD.qcow2
unxz -cv $(basename $URL) >${FILE}
msg_ok "Downloaded ${CL}${BL}${FILE}${CL}"
@@ -623,7 +634,7 @@ DESCRIPTION=$(