fix(script): add mac address

This commit is contained in:
Lucky Bassi 2023-12-15 15:37:53 +01:00
parent 7e1d9d9cce
commit 10193206ec
1 changed files with 8 additions and 3 deletions

View File

@ -12,6 +12,7 @@ prompt_input() {
create_bridge_text() { create_bridge_text() {
local ip=$1 local ip=$1
local bridge_id=$2 local bridge_id=$2
local mac_address=$3
echo " echo "
auto vmbr${bridge_id} auto vmbr${bridge_id}
iface vmbr${bridge_id} inet static iface vmbr${bridge_id} inet static
@ -20,6 +21,7 @@ iface vmbr${bridge_id} inet static
bridge_ports none bridge_ports none
bridge_stp off bridge_stp off
bridge_fd 0 bridge_fd 0
hwaddress ether ${mac_address}
#LAN${bridge_id}" #LAN${bridge_id}"
} }
@ -29,6 +31,7 @@ GATEWAYADDRESS=$(prompt_input "MAIN_SERVER_GATEWAY_ADDRESS" "192.168.0.254")
NETMASK=$(prompt_input "NETMASK" "255.255.255.0") NETMASK=$(prompt_input "NETMASK" "255.255.255.0")
BROADCASTIP=$(prompt_input "BROADCASTIP" "192.168.0.255") BROADCASTIP=$(prompt_input "BROADCASTIP" "192.168.0.255")
ADD_IP_ADDRESSES=$(prompt_input "ADDITIONAL_IP_ADDRESSES (comma-separated)" "") ADD_IP_ADDRESSES=$(prompt_input "ADDITIONAL_IP_ADDRESSES (comma-separated)" "")
MAC_ADDRESSES=$(prompt_input "MAC_ADDRESSES for additional IPs (comma-separated)" "")
NETWORK_INTERFACE=$(prompt_input "NETWORK_INTERFACE" "eth0") NETWORK_INTERFACE=$(prompt_input "NETWORK_INTERFACE" "eth0")
# Display inputs for confirmation # Display inputs for confirmation
@ -39,6 +42,7 @@ echo "MAIN_SERVER_GATEWAY_ADDRESS: $GATEWAYADDRESS"
echo "NETMASK: $NETMASK" echo "NETMASK: $NETMASK"
echo "BROADCASTIP: $BROADCASTIP" echo "BROADCASTIP: $BROADCASTIP"
echo "ADDITIONAL_IP_ADDRESSES: $ADD_IP_ADDRESSES" echo "ADDITIONAL_IP_ADDRESSES: $ADD_IP_ADDRESSES"
echo "MAC_ADDRESSES: $MAC_ADDRESSES"
echo "NETWORK_INTERFACE: $NETWORK_INTERFACE" echo "NETWORK_INTERFACE: $NETWORK_INTERFACE"
echo "---------------------------------------------------------------------" echo "---------------------------------------------------------------------"
@ -49,8 +53,9 @@ if [[ $confirmation != [Yy]* ]]; then
exit exit
fi fi
# Split ADD_IP_ADDRESSES into an array # Split ADD_IP_ADDRESSES and MAC_ADDRESSES into arrays
IFS=',' read -ra ADDR <<<"$ADD_IP_ADDRESSES" IFS=',' read -ra ADDR <<<"$ADD_IP_ADDRESSES"
IFS=',' read -ra MACS <<<"$MAC_ADDRESSES"
# Initialize the interfaces file content # Initialize the interfaces file content
interfaces_content=" interfaces_content="
@ -89,9 +94,9 @@ iface vmbr0 inet static
#WAN #WAN
" "
# Append bridge interfaces for each additional IP # Append bridge interfaces for each additional IP and MAC address
for i in "${!ADDR[@]}"; do for i in "${!ADDR[@]}"; do
interfaces_content+=$(create_bridge_text "${ADDR[i]}" "$((i + 1))") interfaces_content+=$(create_bridge_text "${ADDR[i]}" "$((i + 1))" "${MACS[i]}")
done done
# Save the new configuration to a temporary file # Save the new configuration to a temporary file