mirror of
https://github.com/oneclickvirt/pve.git
synced 2024-11-15 12:36:18 +08:00
42 lines
1.3 KiB
Bash
42 lines
1.3 KiB
Bash
#!/bin/bash
|
|
#from https://github.com/spiritLHLS/pve
|
|
|
|
interface=$(lshw -C network | awk '/logical name:/{print $3}' | head -1)
|
|
ip=$(curl -s ipv4.ip.sb)/24
|
|
gateway=$(ip route | awk '/default/ {print $3}')
|
|
if grep -q "vmbr0" /etc/network/interfaces; then
|
|
echo "vmbr0 already exists in /etc/network/interfaces"
|
|
else
|
|
# Add the vmbr0 configuration block
|
|
cat << EOF | sudo tee -a /etc/network/interfaces
|
|
auto vmbr0
|
|
iface vmbr0 inet static
|
|
address $ip
|
|
gateway $gateway
|
|
bridge_ports $interface
|
|
bridge_stp off
|
|
bridge_fd 0
|
|
EOF
|
|
fi
|
|
|
|
if grep -q "vmbr1" /etc/network/interfaces; then
|
|
echo "vmbr1 already exists in /etc/network/interfaces"
|
|
else
|
|
# Add the vmbr1 configuration block
|
|
cat << EOF | sudo tee -a /etc/network/interfaces
|
|
auto vmbr1
|
|
iface vmbr1 inet static
|
|
address 172.16.1.1
|
|
netmask 255.255.255.0
|
|
bridge_ports none
|
|
bridge_stp off
|
|
bridge_fd 0
|
|
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
|
|
post-up echo 1 > /proc/sys/net/ipv4/conf/vmbr1/proxy_arp
|
|
post-up iptables -t nat -A POSTROUTING -s '172.16.1.0/24' -o vmbr0 -j MASQUERADE
|
|
post-down iptables -t nat -D POSTROUTING -s '172.16.1.0/24' -o vmbr0 -j MASQUERADE
|
|
EOF
|
|
fi
|
|
|
|
service networking restart
|
|
systemctl restart networking.service
|