Skip to content

sshuttle stopped working suddenly in WSL #1003

Open

Description

@stelucz

I was happily using sshuttle for over a year now or maybe even more, and suddenly last friday it stopped to forward traffic. Could someone help me to troubleshoot the issue, please? I am suspecting some windows update, WSL update. or something else at client side.

I was running packaged version 1.0.5-1ubuntu4 in Ubuntu 22.04 WSL and I even tried to install latest sshuttle from repo by:

pip install "git+https://github.com/sshuttle/sshuttle.git@master"  -U --force

It behaves same, all the time. sshuttle successfully connects to remote server, iptables are populate correctly, but no traffic is forwarded. I can see hit counter in iptables. No forwarded traffic is observed at remote server by tcpdump. Any help to troubleshoot it is welcomed as docs miss any troubleshooting steps.

I disabled the anti-virus, but no change.

➜  ~ sshuttle --version
1.2.0
➜  ~ sshuttle -r bts-<HOST> <SUBNET>/32 -vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Starting sshuttle proxy (version 1.2.0).
c : which() could not find 'doas' in /bin:/usr/bin:/usr/local/bin:/sbin:/home/<user>/.local/bin:/home/<user>/.local/share/pnpm:/usr/local/sbin:/usr/sbin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files (x86)/Pulse Secure/VC142.CRT/X64/:/mnt/c/Program Files (x86)/Pulse Secure/VC142.CRT/X86/:/mnt/c/Program Files (x86)/Common Files/Pulse Secure/TNC Client Plugin/:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files/Git/cmd:/mnt/c/Users/<user>/AppData/Local/Programs/Python/Python313/Scripts/:/mnt/c/Users/<user>/AppData/Local/Programs/Python/Python313/:/mnt/c/Users/<user>/AppData/Local/Programs/Python/Launcher/:/mnt/c/Python33/Scripts
c : which() found 'sudo' at /bin/sudo
c : Starting firewall manager with command: ['/bin/sudo', '-p', '[local sudo] Password: ', '/usr/bin/env', 'PYTHONPATH=/usr/local/lib/python3.10/dist-packages', '/usr/local/bin/sshuttle', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-
v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '-v', '--method', 'auto', '--firewall']
fw: Starting firewall with Python version 3.10.12
fw: Selecting a method automatically...
fw: which() found 'iptables' at /usr/sbin/iptables
fw: Method 'nat' was automatically selected.
fw: which() found 'iptables' at /usr/sbin/iptables
fw: ready method name nat.
c : Using default IPv4 listen address 127.0.0.1
c : IPv6 enabled: Using default IPv6 listen address ::1
c : Method: nat
c : IPv4: on
c : IPv6: on
c : UDP : off (not available with nat method)
c : DNS : off (available)
c : User: off (available)
c : Subnets to forward through remote host (
type, IP, cidr mask width, startPort, endPort):
c :   (<AddressFamily.AF_INET: 2>, '<SUBNET>', 32, 0, 0)
c : Subnets to exclude from forwarding:
c :   (<AddressFamily.AF_INET: 2>, '127.0.0.1', 32, 0, 0)
c :   (<AddressFamily.AF_INET6: 10>, '::1', 128, 0, 0)
c : Trying to bind redirector on port 12300
s: assembling 'sshuttle.cmdline_options' (85 bytes)
s: assembling 'sshuttle.helpers' (4143 bytes)
s: assembling 'sshuttle.ssnet' (5741 bytes)
s: assembling 'sshuttle.hostwatch' (2569 bytes)
s: assembling 'sshuttle.server' (4174 bytes)
s: latency control setting = True
s:  > channel=0 cmd=PING len=7 (fullness=0)
s: auto-nets:False
s:  > channel=0 cmd=ROUTES len=0 (fullness=7)
s: Waiting: 1 r=[0] w=[1] x=[] (fullness=7/0)
c : Connected to server.
c : Waiting: 2 r=[5, 7, 9] w=[9] x=[] (fullness=7/0)
c :   Ready: 2 r=[9] w=[9] x=[]
fw: Flushing systemd's DNS resolver cache: resolvectl flush-caches
c : mux wrote: 15/15
c : mux wrote: 15/15
c : Waiting: 2 r=[5, 7, 9] w=[] x=[] (fullness=14/0)
s:   Ready: 1 r=[0] w=[] x=[]
s: mux read: 15
s: <  channel=0 cmd=PING len=7
s:  > channel=0 cmd=PONG len=7 (fullness=7)
s: mux wrote: 15/15
s: Waiting: 1 r=[0] w=[] x=[] (fullness=14/0)
s:   Ready: 1 r=[0] w=[] x=[]
c : Waiting: 2 r=[5, 7, 9] w=[] x=[] (fullness=0/0)
^C
fw: Relaying interupt signal to sshuttle process 17883
fw: undoing changes.
fw: undoing IPv6 changes.
fw: ip6tables -w -t nat -D OUTPUT -j sshuttle-12300
fw: ip6tables -w -t nat -D PREROUTING -j sshuttle-12300
fw: ip6tables -w -t nat -F sshuttle-12300
fw: ip6tables -w -t nat -X sshuttle-12300
fw: undoing IPv4 changes.
fw: iptables -w -t nat -D OUTPUT -j sshuttle-12300
fw: iptables -w -t nat -D PREROUTING -j sshuttle-12300
fw: iptables -w -t nat -F sshuttle-12300
fw: iptables -w -t nat -X sshuttle-12300
fw: which() found 'resolvectl' at /usr/bin/resolvectl
fw: Flushing systemd's DNS resolver cache: resolvectl flush-caches
c :
c : Keyboard interrupt: exiting.
➜  ~  s:   Ready: 1 r=[0] w=[] x=[]
 s: mux read: 0

➜  ~
➜  ~ sudo iptables -t nat -L -v -n

Chain sshuttle-12300 (2 references)
 pkts bytes target     prot opt in     out     source               destination
    5   300 RETURN     tcp  --  *      *       0.0.0.0/0            127.0.0.1
    1    60 REDIRECT   tcp  --  *      *       0.0.0.0/0            <SUBNET>       redir ports 12300
    2   180 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL
➜  ~ sudo iptables -t nat -L -v -n

Chain sshuttle-12300 (2 references)
 pkts bytes target     prot opt in     out     source               destination
    8   480 RETURN     tcp  --  *      *       0.0.0.0/0            127.0.0.1
    2   120 REDIRECT   tcp  --  *      *       0.0.0.0/0            <SUBNET>       redir ports 12300
    4   360 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL

Activity

  1. zhujian0805 commented on Oct 31, 2024

    @zhujian0805

    the same issue here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions