dotfiles/devel/kvm/bridge-host.sh
2021-01-13 17:36:54 +08:00

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>
"
}