Update network.sh

This commit is contained in:
spiritLHLS 2023-02-24 09:56:53 +08:00 committed by GitHub
parent c6fa9f7b42
commit 237527b289
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,4 +1,34 @@
#!/bin/bash
#from https://github.com/spiritLHLS/pve
# 重启网络服务以应用更改
interface=$(lshw -C network | awk '/logical name:/{print $3}' | head -1)
ip=$(ip addr show $interface | awk '/inet /{print $2}' | head -1)
netmask=$(ifconfig $interface | awk '/netmask/{print $4}' | head -1)
gateway=$(ip route | awk '/default/ {print $3}')
cat << EOF | sudo tee /etc/network/interfaces.d/vmbr0
auto vmbr0
iface vmbr0 inet static
address $ip
netmask $netmask
gateway $gateway
bridge_ports $interface
bridge_stp off
bridge_fd 0
EOF
cat << EOF | sudo tee /etc/network/interfaces.d/vmbr1
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
service networking restart
systemctl restart networking.service