>>233365
у меня awk пердолька (делал еще на питухоне, так оно мне стартап задерживает секунд на 5, говно, а на сишечке не осилил их ебланский нетлинк интерфейс, да и нахуй надо) поднимает интерфейсы и настраивает файрвол, суть такова:
ip tuntap add $ifname mode tap user $(id -run)
ip link set $ifname address $ifmac
ip link set $ifname up
ip addr add $ifaddr dev $ifname
адрес беру 172.16.1.2/31 для хоста, 172.16.1.3/31 для гостя, если нужно больше интерфесов, то просто +1 к последней цифре. дальше
dnsmasq -I lo -i $ifname -a $hostaddr -F ${guestaddr},${guestaddr},12h -k -u dnsmasq -g dnsmasq -z
потом самопердольный файрвол, суть которого
table inet local-qemu {
set lan {
type ipv4_addr
flags interval
elements = { 10.0.0.0/8, 172.16.0.0/12,
192.168.0.0/16 }
}
set host {
type ipv4_addr
flags interval
elements = { 127.0.0.0/8 }
}
chain input {
type filter hook input priority filter; policy accept;
iifname "user-qemu-0" jump {
meta l4proto { tcp, udp } th dport { 67, 68 } accept
ip daddr != 172.16.1.2/31 reject with icmp port-unreachable
}
}
chain output {
type filter hook output priority filter; policy accept;
oifname "user-qemu-0" meta skuid != { 0, 1001 } reject
}
chain fwd-mangle {
type filter hook forward priority mangle; policy accept;
iifname "user-qemu-0" ct mark set 0x00000666
}
chain fwd-filter {
type filter hook forward priority filter; policy accept;
ct state { established, related } accept
ip daddr @host drop
ip saddr @host drop
meta nfproto ipv6 drop
iifname "user-qemu-0" ip daddr @lan reject with icmp port-unreachable
}
chain masq {
type nat hook postrouting priority srcnat; policy accept;
ct mark 0x00000666 masquerade
}
}
дальше в пердольке для qemu прописываешь
-netdev tap,ifname="${USER}"-qemu-0,id=net0,script=no,downscript=0 \
-device virtio-net-pci,netdev=net0
как сам ssh настраивать хз мне он нахуй не нужен. интерфейс у тебя есть, дальше сам разбирайся.