Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: multiple qemu networking together and with host (Linux host)



On Fri, Dec 12, 2025 at 11:54 PM Andrew Randrianasulu
<randrianasulu%gmail.com@localhost> wrote:
>
> On Fri, Dec 12, 2025 at 5:31 AM Andrew Randrianasulu
> <randrianasulu%gmail.com@localhost> wrote:
> >
> > It was harder than I thought.
> >
> > Main setup:


/me crying in  copyasta ...: I failed to edit command  fully, so it
was mix of example and my own lines!

====
Main setup:

https://fo.ax/kali-kit/html_docs/86box.html

ip tuntap add dev tap-vde mode tap user "$USER"
ip link set tap-vde up
ip a add 10.1.0.1/16 dev tap-vde

vde_switch --mode 666 --numports 8 --tap tap-vde --mgmt
/tmp/vde.qemux0.mgmt --mgmtmode 666 -s /tmp/vde.qemux0 --daemon

Next, because I use wifi

sysctl -w net.ipv4.ip_forward=1

iptables -t nat -A POSTROUTING -s 10.1.0.1/16 -o wlan0 -j MASQUERADE

iptables -A FORWARD -i wlan0 -o tap-vde -m state --state
RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tap-vde -o wlan0 -j ACCEPT


====

Now, with this setup I can't reach into qemu network from hosts on
192.x. network
So, now reading more networking/routing/iptables howtos ....
> >
> > https://fo.ax/kali-kit/html_docs/86box.html
> >
> > ip tuntap add dev tap-vde mode tap user "$USER"
> > ip link set 86box0 up
> > ip a add 10.1.0.1/16 dev tap-vde
> >
> >
> >
> > vde_switch --mode 666 --numports 8 --tap tap-vde --mgmt
> > /tmp/vde.qemux0.mgmt --mgmtmode 666 -s /tmp/vde.qemux0 --daemon
> >
> > Next, because I use wifi
> >
> > sysctl -w net.ipv4.ip_forward=1
> >
> > iptables -t nat -A POSTROUTING -s 10.1.0.1/16 -o wlan0 -j MASQUERADE
> >
> > iptables -A FORWARD -i eth0 -o tap-vde -m state --state
> > RELATED,ESTABLISHED -j ACCEPT
> > iptables -A FORWARD -i 86box0 -o wlan0 -j ACCEPT
> >
> > Install dhcpd (DHCP daemon)
> >
> > config it like
> >
> > cat /etc/dhcpd.conf
> > # dhcpd.conf
> > #
> > # Configuration file for ISC dhcpd (see 'man dhcpd.conf')
> > #
> > subnet 10.1.0.0 netmask 255.255.255.224 {
> > option routers 10.1.0.1 ;
> > range 10.1.0.10 10.1.0.15 ;
> > }
> >
> > whole config (ifconfig -a)
> >
> > root@slax:/dev/shm# ifconfig -a
> > eth7      Link encap:Ethernet  HWaddr A8:A1:59:9B:07:45
> >           UP BROADCAST MULTICAST  MTU:1500  Metric:1
> >           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> >           TX packets:0 errors:0 dropped:3 overruns:0 carrier:0
> >           collisions:0 txqueuelen:1000
> >           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
> >
> > lo        Link encap:Local Loopback
> >           inet addr:127.0.0.1  Mask:255.0.0.0
> >           inet6 addr: ::1/128 Scope:Host
> >           UP LOOPBACK RUNNING  MTU:65536  Metric:1
> >           RX packets:340797 errors:0 dropped:0 overruns:0 frame:0
> >           TX packets:340797 errors:0 dropped:0 overruns:0 carrier:0
> >           collisions:0 txqueuelen:1000
> >           RX bytes:235555020 (224.6 Mb)  TX bytes:235555020 (224.6 Mb)
> >
> > tap-vde   Link encap:Ethernet  HWaddr 86:2F:0D:6D:AC:96
> >           inet addr:10.1.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
> >           inet6 addr: fe80::842f:dff:fe6d:ac96/64 Scope:Link
> >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
> >           RX packets:4709 errors:0 dropped:0 overruns:0 frame:0
> >           TX packets:4229 errors:0 dropped:0 overruns:0 carrier:0
> >           collisions:0 txqueuelen:1000
> >           RX bytes:305415 (298.2 Kb)  TX bytes:260279 (254.1 Kb)
> >
> > wlan0     Link encap:Ethernet  HWaddr 1C:BF:CE:C6:BE:00
> >           inet addr:192.168.1.104  Bcast:192.168.1.255  Mask:255.255.255.0
> >           inet6 addr: fe80::1ebf:ceff:fec6:be00/64 Scope:Link
> >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
> >           RX packets:3233241 errors:0 dropped:0 overruns:0 frame:0
> >           TX packets:2858540 errors:0 dropped:0 overruns:0 carrier:0
> >           collisions:0 txqueuelen:1000
> >           RX bytes:1608028041 (1533.5 Mb)  TX bytes:845539101 (806.3 Mb)
> >
> > IPTABLES config:
> >
> > root@slax:/dev/shm# iptables -t nat -vnL
> > Chain PREROUTING (policy ACCEPT 1343 packets, 142K bytes)
> >  pkts bytes target     prot opt in     out     source               destination
> >
> > Chain INPUT (policy ACCEPT 1031 packets, 45964 bytes)
> >  pkts bytes target     prot opt in     out     source               destination
> >
> > Chain OUTPUT (policy ACCEPT 1736 packets, 297K bytes)
> >  pkts bytes target     prot opt in     out     source               destination
> >
> > Chain POSTROUTING (policy ACCEPT 1736 packets, 297K bytes)
> >  pkts bytes target     prot opt in     out     source               destination
> >    17  1052 MASQUERADE  all  --  *      wlan0   10.1.0.0/16          0.0.0.0/0
> >     0     0 MASQUERADE  all  --  *      wlan0   10.1.0.0/16          0.0.0.0/0
> >
> > =================
> >
> > root@slax:/dev/shm# iptables  -vnL
> > Chain INPUT (policy ACCEPT 86261 packets, 23M bytes)
> >  pkts bytes target     prot opt in     out     source               destination
> >
> > Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
> >  pkts bytes target     prot opt in     out     source               destination
> >    56  8221 ACCEPT     all  --  tap-vde wlan0   0.0.0.0/0            0.0.0.0/0
> >    66 29463 ACCEPT     all  --  wlan0  tap-vde  0.0.0.0/0
> > 0.0.0.0/0            state RELATED,ESTABLISHED
> >
> > Chain OUTPUT (policy ACCEPT 82010 packets, 16M bytes)
> >  pkts bytes target     prot opt in     out     source               destination
> >
> > =======================
> >
> > qemu 1;
> > qemu-system-sparc -hda
> > /mnt/zip/home/guest/QEMU/sparc-netbsd-15g-compressed-r1.qcow2   -smp 1
> > -accel tcg,thread=multi,tb-size=256 -M SS-20 -net
> > nic,macaddr=52:54:00:02:12:23 -net vde,sock=/tmp/vde.qemux0
> >
> > qemu 2:
> > qemu-system-sparc -hda /dev/shm/sparc-netbsd-15g-compressed-r1.qcow2
> > -smp 1 -accel tcg,thread=multi,tb-size=256 -M SS-20 -m 256 -net
> > nic,macaddr=52:54:00:01:12:24 -net vde,sock=/tmp/vde.qemux0
> >
> > Both qemu NetBSD machines should get ip 10.1.0.xx
> >
> > You should be able to set /etc/resolv.conf to nameserver in your real
> > network (192.168.1.1 in my case - wifi router) and ping sites like
> > google.com etc
> >
> > I was able to get nc (netcat) sending and receiving across two qemu's
> > and see host ftp/ssh services.
> >
> > Next step is configuring distcc itself ;)
>
>
> I think I finally set it up, on server setting PATH to masquaraded compiler in
> /usr/pkg/lib/distcc/bin eraly in PATH
>
> then this command
>
> distccd --listen 10.1.0.10 --allow 10.1.0.11 --enable-tcp-insecure
> --log-stderr --verbose
>
> on client I set /etc/mk.conf as was suggested by this hackaday article:
>
> PKGSRC_COMPILER=distcc gcc
>  MAKE_JOBS=3
>  DISTCC_HOSTS=10.1.0.10:3632
>
> and finally set DISTCC_HOSTS to same 10.1.0.10 (I launched distcc
> server qemu first so it get IP earlier)
>
> at some point I was getting "Failed to distribute" errors, I think
> --enable-tcp-insecure, even if discouraged by man  was important?
>
>
>
>
> >
> > In theory vde2 should work on macos hosts, and may be freebsd ? Linux
> > is easy mode
> >
> >
> > It was bigger adventure than I initially hoped!


Home | Main Index | Thread Index | Old Index