Linux - Virtualization and CloudThis forum is for the discussion of all topics relating to Linux Virtualization and Linux Cloud platforms. Xen, KVM, OpenVZ, VirtualBox, VMware, Linux-VServer and all other Linux Virtualization platforms are welcome. OpenStack, CloudStack, ownCloud, Cloud Foundry, Eucalyptus, Nimbus, OpenNebula and all other Linux Cloud platforms are welcome. Note that questions relating solely to non-Linux OS's should be asked in the General forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hello,
I have a host machine running a FreeBSD vm, which i need to provide with Internet connectivity.
I tried the following:
On my host machine i created a bridged ip link add bridge0 type bridge, secondly i created a tap interface to be used by the vm. ip tuntap add tap0 type tap, next i associated the tap device with the bridge interface: ip link set tap0 master bridge0. The vm is given an address in the bridged network 172.16.10.0/24.
When launching the vm, i give the following parameters to qemu "-netdev tap,id=net1,ifname=tap0 -device virtio-net-pci,netdev=net1"
Next i added iptables rules to the host machine:
iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -o eno1 -j MASQUERADE where eno1 is the host machines interface.
Enable routing:
sysctl -w net.ipv4.ip_forward=1
#Allow traffic and related/established connections on the Forwarding chain:
iptables -A FORWARD -i bridge0 -o eno1 -j ACCEPT
iptables -A FORWARD -s 172.16.10.0/24 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
The vm is able to ping the host machines bridge0 on 172.16.10.100, but no Internet connectivity.
Any idea what i am missing here?
ip -c route show
default via 74.x.x.1 dev eth0 proto dhcp src 74.x.x.131 metric 1002
74.x.x.0/19 dev eth0 proto dhcp scope link src 74.x.x.131 metric 1002
127.0.0.0/8 dev lo scope link
192.168.20.0/24 dev br0 proto kernel scope link src 192.168.20.1
Code:
ip link add name br0 type bridge
ip link set br0 type bridge stp_state 1
ip tuntap add dev tap0 mode tap
ip link set dev tap0 master br0
I usually forward everything, net.ipv4.conf.all.forwarding = 1, and run a DHCP server servicing br0.
Code:
INTERNAL_NETWORK="192.168.20.0/24"
iptables -t nat -A POSTROUTING -m comment --comment "Masquerading LAN rfc1918 addresses" -s $INTERNAL_NETWORK -j MASQUERADE
So i figured out the issue ...
The problem was that i had nftables running concurrently with iptables and update-alternatives pointed to nft..sigh.
Anyways i appreciate the help
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.