-
-
Save jpawlowski/3331593 to your computer and use it in GitHub Desktop.
| # /etc/network/interfaces | |
| # | |
| auto lo | |
| iface lo inet loopback | |
| # device: eth0 | |
| iface eth0 inet manual | |
| # IPv4 bridge | |
| # (connect ONLY your firewall/router KVM instance here, this is the WAN device!) | |
| auto vmbr0 | |
| iface vmbr0 inet static | |
| # Hetzner primary WAN IP | |
| address 176.9.xxx.xxx | |
| # Hetzner primary WAN IP broadcast address | |
| broadcast 176.9.xxx.xyz | |
| # This netmask needs to have all bits set | |
| netmask 255.255.255.255 | |
| # Our gateway is reachable via Point-to-Point tunneling | |
| # put the Hetzner gateway IP address here twice | |
| pointopoint 176.9.xxx.yyy | |
| gateway 176.9.xxx.yyy | |
| # Virtual bridge settings | |
| # this one is bridging physical eth0 interface | |
| bridge_ports eth0 | |
| bridge_stp off | |
| bridge_fd 0 | |
| # add a static route through the Hetzner gateway IP | |
| # for the subnet our primary IP belongs to | |
| up route add -net 176.9.xxx.zyx netmask 255.255.255.224 gw 176.9.xxx.yyy vmbr0 | |
| # Add routing for up to 4 dedicated IP's we get from Hetzner | |
| # You need to | |
| up ip route add 176.9.xxx.xx1/32 dev vmbr0 | |
| up ip route add 176.9.xxx.xx2/32 dev vmbr0 | |
| up ip route add 176.9.xxx.xx3/32 dev vmbr0 | |
| up ip route add 176.9.xxx.xx4/32 dev vmbr0 | |
| # Assure local routing of private IPv4 IP's from our | |
| # Proxmox host via our firewall's WAN port | |
| up ip route add 192.168.0.0/16 via 176.9.xxx.xx1 dev vmbr0 | |
| up ip route add 172.16.0.0/12 via 176.9.xxx.xx1 dev vmbr0 | |
| up ip route add 10.0.0.0/8 via 176.9.xxx.xx1 dev vmbr0 | |
| # IPv6 bridge | |
| # (connect ONLY your firewall/router KVM instance here, this is the WAN device!) | |
| iface vmbr0 inet6 static | |
| address 2a01:4f8:151:XXX::3 | |
| netmask 64 | |
| up ip -6 route add 2a01:4f8:151:XXX::1 dev vmbr0 | |
| up ip -6 route add default via 2a01:4f8:151:XXX::1 | |
| # Virtual switch for DMZ | |
| # (connect your firewall/router KVM instance and private DMZ hosts here) | |
| auto vmbr1 | |
| iface vmbr1 inet manual | |
| bridge_ports none | |
| bridge_stp off | |
| bridge_fd 0 | |
| # Virtual switch for Private LAN | |
| # (connect your firewall/router KVM instance and private hosts here) | |
| auto vmbr2 | |
| iface vmbr2 inet manual | |
| bridge_ports none | |
| bridge_stp off | |
| bridge_fd 0 | |
| # Virtual switch for Test Data Center | |
| # (connect your firewall/router KVM instance and private hosts here) | |
| auto vmbr3 | |
| iface vmbr3 inet manual | |
| bridge_ports none | |
| bridge_stp off | |
| bridge_fd 0 |
| # /etc/pve/qemu-server/100.conf | |
| # | |
| # This is an example KVM host configuration I use for my | |
| # Vyatta router instance. | |
| # It was created with the Proxmox web interface and should | |
| # just introduce you to the used network configuration | |
| # (see the 5 network interfaces and their bridge connections). | |
| # That means you won't need to hack the configuration file yourself, | |
| # just keep settings here in mind when creating your virtual host | |
| # in the Proxmox interface. | |
| # | |
| # net0 - WAN interface used for dedicated IPv4 connection handling | |
| # net1 - WAN interface used for dedicated IPv6 connection handling | |
| # net2 - DMZ interface for the majority of my virtual OpenVZ and KVM hosts | |
| # net3 - Private hosts only accessible via VPN | |
| # net4 - Private hosts only accessible via VPN | |
| # | |
| # Of course you could use less interfaces (net0+net1 could be combined | |
| # in a normal dual-stack configuration and net2/3/4 could be one | |
| # interface only if you don't want/need such a complex configuration). | |
| # | |
| # IMPORTANT: net0 uses the MAC address that was assigned by Hetzner to one | |
| # of my additional IPv4 addresses. This is essential to have a working connection. | |
| # I also requested MAC addresses for the other IP's but it's sufficient to have only one of the MAC's | |
| # in your configuration. | |
| # | |
| # Now go and have your firewall instance listening to all your additional | |
| # IPv4 addresses and setup destination NAT to your private IPv4 addressed | |
| # hosts connected to net2. | |
| boot: cd | |
| bootdisk: virtio0 | |
| cores: 2 | |
| cpu: host | |
| ide2: none,media=cdrom | |
| memory: 2048 | |
| name: msys-firewall-instance | |
| # IMPORTANT: net0 has set the MAC address assigned by Hetzner | |
| net0: virtio=00:50:56:00:XX:YY,bridge=vmbr0 | |
| net1: virtio=56:4A:05:76:D6:F8,bridge=vmbr0 | |
| net2: virtio=76:EE:88:BA:17:DF,bridge=vmbr1 | |
| net3: virtio=EE:10:82:D7:3C:14,bridge=vmbr2 | |
| net4: virtio=DA:18:23:03:D0:C7,bridge=vmbr3 | |
| onboot: 1 | |
| ostype: l26 | |
| sockets: 2 | |
| startup: order=1 | |
| virtio0: local:100/vm-100-disk-1.qcow2,cache=writeback |
Two years later this is still the only source for the setup with proxmox and a firewall/router as vm.
But now with a firewall build in proxmox 3.4 and new ways to configure the networt in proxmox:
Is this still the best solution? Is this the solution you still use?
Thanks for share this!
This configuration still working, I have use a bit different configuration, but I'm started from this!
What I do with the hetzner root server is use the single ipv4 for management in the physical server and restrict it to be accessed from certain ip, and the ipv6 /64 complete subnet to the pfsense; below the configuration I have use to be done with my porpouse:
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto eth0
iface eth0 inet static
address 195.xxx.yyy.zzz
netmask 255.255.255.255 # netmask have to be .255 (/32) unless you want the server talk to neighbors
gateway 195.xxx.yyy.zzz # this is the gateway you find just after image restored
pointopoint 195.xxx.yyy.zzz # insert gateway here! (yes, twice)
iface eth0 inet6 static
address aaaa:bbbb:cccc:dddd::2
netmask 128 # change this to /128 (same reason of before and like this we can assign entire /64 ipv6 to the bridge)
gateway fe80::1
auto vmbr0
iface vmbr0 inet manual
# WAN Interface
# address 195.xxx.yyy.zzz # Same address of physical interface
# netmask 255.255.255.255 # same reason of before
bridge_ports none
bridge_stp off
bridge_fd 0
# Route an eventually ipv4 subnet (!NOTE: in hetzner an ipv4 /29 subnet when routed is completely usable)
# up route add -host 195.xxx.yyy.zz0 dev vmbr0
# up route add -host 195.xxx.yyy.zz1 dev vmbr0
# up route add -host 195.xxx.yyy.zz2 dev vmbr0
# up route add -host 195.xxx.yyy.zz3 dev vmbr0
# up route add -host 195.xxx.yyy.zz4 dev vmbr0
# up route add -host 195.xxx.yyy.zz5 dev vmbr0
# up route add -host 195.xxx.yyy.zz6 dev vmbr0
# up route add -host 195.xxx.yyy.zz7 dev vmbr0
# Says the host where the answer for subnet behind pfsense should be routed
#up ip route add 172.xxx.yyy.zzz/24 via 195.xxx.yyy.zz0 dev vmbr0 #(the ip of via have to be the pfsense ipv4 WAN ip)
iface vmbr0 inet6 static
address aaa:bbb:ccc:ddd::2
netmask 126
# Metric 1 because kernel set up a ipv6 route send the /64 subnet over (::) no next hop
up ip -6 route add aaa:bbb:ccc:ddd::/64 via aaa:bbb:ccc:ddd::3 dev vmbr0 metric 1 #(the ip of via have to be the pfsense ipv6 WAN ip)
auto vmbr1
iface vmbr1 inet manual
# LAN INTERFACE
bridge_ports none
bridge_stp off
bridge_fd 0
In the routed configuration do not need any additional subnet and/or second mac address, if you want to have "just!" the /64 subenet ๐
Thank you so much ... it helped me understand a lot with those two files! ๐
I have problems to undersstand this. Well, my subnet works fine, but I have one single IP that I can't make work.
The most important part is working (subnet IPs), and VMs are working fine. The wiki is clear on this part (http://wiki.hetzner.de/index.php/Proxmox_VE/en).
But need to know how to make extra IP work, I can't handle this and support doesn't seem to explain anything, just repeat something that is inconsistent with the wiki. Probably it's me, that I'm stupid .... but I need to understand.
The wiki says that I must configure the host like you say here in the host: up ip route add 176.9.xxx.xx1/32 dev vmbr0. Okay, but in the KVM connected to vmbr0 is it correct to configure it like this?
iface eth0 inet static
address
netmask 255.255.255.255
pointopoint
gateway
This doesn't work :(