Lokāla virtuālo mašīnu tīklu izveide

Bieži vien nākas saskarties ar problēmu, ka nepieciešams izveidot virtuālo mašīnu testa vajadzībām, bet tērēt reālos IP nav vēlēšanās. Mums palīdzēs virtuāla tīkla izveide.

Pārbaudīts: Proxmox 3.1

Virtuālo mašīnu servera tīkla konfigurācijas failā /etc/network/interfaces veidojam jaunu interfeisu vmbr0:1.

auto vmbr0:1
iface vmbr0:1 inet static
    address 10.10.10.254
    netmask 255.255.255.0

Lai virtuālā mašīna varētu tikt ārpus sava tīkla papildus ievadām sekojošas iptables komandas:

    iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE

Lai varētu tikt pie virtuālās mašīnas, papildinam iptables. Piemērā priekš ssh slēgšanās pie 1022 porta pie virtuālās mašīnas ar IP 10.10.10.1.

    iptables -t nat -A PREROUTING -i vmbr0 -p tcp -m tcp --dport 1022 -j DNAT --to-destination 10.10.10.1:22

Lai vienkāršāk būtu piešķirt portus izmantojam šādu formulu:

(VirtID-100) x 100 + porta_numurs + 1000 = ports_forwardam

Ja iepriekš nav ticis veidots iptables konfigurācijas fails:

Saglabājam iptables konfigurāciju

    iptables-save > /etc/iptables.rules

Lai nākotnē nevajadzētu veikt iptables noteikumu ielādi ar rokām, norādām to darīt pie tīkla interfeisa ielādes.

    auto vmbr0
    iface vmbr0 inet static
    ...
    pre-up iptables-restore < /etc/iptables.rules

Lai iekšējā tīkla virtuālās mašīnas varētu tikt ārējā tīklā, palaižam sekojošu komandu:

    echo 1 > /proc/sys/net/ipv4/ip_forward

Neaizmirstam pārstartēt tīklu.