pve/network.sh

41 lines
1.1 KiB
Bash
Raw Normal View History

2023-02-23 21:42:24 +08:00
#!/bin/bash
2023-02-24 09:56:53 +08:00
#from https://github.com/spiritLHLS/pve
2023-02-23 21:58:44 +08:00
2023-02-24 09:56:53 +08:00
interface=$(lshw -C network | awk '/logical name:/{print $3}' | head -1)
2023-02-24 13:44:53 +08:00
ip=$(curl -s ipv4.ip.sb)/24
2023-02-24 09:56:53 +08:00
gateway=$(ip route | awk '/default/ {print $3}')
2023-02-24 13:50:58 +08:00
if grep -q "vmbr0" /etc/network/interfaces; then
echo "vmbr0 already exists in /etc/network/interfaces"
else
2023-02-24 13:53:12 +08:00
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
2023-02-24 13:50:58 +08:00
fi
2023-02-24 09:56:53 +08:00
2023-02-24 13:50:58 +08:00
if grep -q "vmbr1" /etc/network/interfaces; then
echo "vmbr1 already exists in /etc/network/interfaces"
else
2023-02-24 13:53:12 +08:00
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
2023-02-24 13:50:58 +08:00
fi
2023-02-24 09:56:53 +08:00
service networking restart
2023-02-23 22:03:19 +08:00
systemctl restart networking.service