61 lines
1.3 KiB
Bash
61 lines
1.3 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
# https://wiki.libvirt.org/page/Networking
|
||
|
|
||
|
# ubuntu 16.04
|
||
|
# /etc/network/interfaces
|
||
|
#
|
||
|
# 1. create br0:
|
||
|
# auto br0
|
||
|
# iface br0 inet static
|
||
|
# bridge_ports enp6s0
|
||
|
#
|
||
|
# 2. move enp6s0 ip setting to br0
|
||
|
|
||
|
|
||
|
create_bridge_on_ubuntu16_host() {
|
||
|
echo "
|
||
|
# set nic to manual
|
||
|
auto enp6s0
|
||
|
iface enp6s0 inet manual
|
||
|
|
||
|
# move nic setting to bridge
|
||
|
auto br0
|
||
|
iface br0 inet static
|
||
|
bridge_ports enp6s0
|
||
|
address 10.10.2.3
|
||
|
netmask 255.255.255.0
|
||
|
gateway 10.10.2.254
|
||
|
dns-nameservers 10.10.2.16
|
||
|
"
|
||
|
sudo reboot
|
||
|
}
|
||
|
|
||
|
disable_netfilter_on_host() {
|
||
|
cat >> sudo tee -a /etc/sysctl.conf <<EOF
|
||
|
net.bridge.bridge-nf-call-ip6tables = 0
|
||
|
net.bridge.bridge-nf-call-iptables = 0
|
||
|
net.bridge.bridge-nf-call-arptables = 0
|
||
|
EOF
|
||
|
sudo sysctl -p /etc/sysctl.conf
|
||
|
}
|
||
|
|
||
|
optional_perf_enhance() {
|
||
|
echo "-I FORWARD -m physdev --physdev-is-bridged -j ACCEPT" > /etc/sysconfig/iptables-forward-bridged
|
||
|
lokkit --custom-rules=ipv4:filter:/etc/sysconfig/iptables-forward-bridged
|
||
|
service libvirtd reload
|
||
|
}
|
||
|
|
||
|
|
||
|
change_network_on_guest() {
|
||
|
sudo virsh edit vmname
|
||
|
echo "
|
||
|
<interface type='bridge'>
|
||
|
<mac address='xx:xx:xx:xx:xx:xx'/>
|
||
|
<source bridge='br0'/>
|
||
|
<model type='virtio'/>
|
||
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
|
||
|
</interface>
|
||
|
"
|
||
|
}
|