| Server IP : 216.250.13.251 / Your IP : 216.73.216.164 Web Server : nginx/1.24.0 System : Linux gunay 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : root ( 0) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/doc/sshuttle/html/ |
Upload File : |
<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TPROXY — sshuttle 1.1.1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=514cf933" />
<script src="_static/documentation_options.js?v=58fbf978"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Microsoft Windows" href="windows.html" />
<link rel="prev" title="Google ChromeOS" href="chromeos.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="windows.html" title="Microsoft Windows"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="chromeos.html" title="Google ChromeOS"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">sshuttle 1.1.1 documentation</a> »</li>
<li class="nav-item nav-item-1"><a href="platform.html" accesskey="U">Platform Specific Notes</a> »</li>
<li class="nav-item nav-item-this"><a href="">TPROXY</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="tproxy">
<h1>TPROXY<a class="headerlink" href="#tproxy" title="Link to this heading">¶</a></h1>
<p>TPROXY is the only method that supports UDP.</p>
<p>There are some things you need to consider for TPROXY to work:</p>
<ul>
<li><p>The following commands need to be run first as root. This only needs to be
done once after booting up:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">ip</span> <span class="n">route</span> <span class="n">add</span> <span class="n">local</span> <span class="n">default</span> <span class="n">dev</span> <span class="n">lo</span> <span class="n">table</span> <span class="mi">100</span>
<span class="n">ip</span> <span class="n">rule</span> <span class="n">add</span> <span class="n">fwmark</span> <span class="p">{</span><span class="n">TMARK</span><span class="p">}</span> <span class="n">lookup</span> <span class="mi">100</span>
<span class="n">ip</span> <span class="o">-</span><span class="mi">6</span> <span class="n">route</span> <span class="n">add</span> <span class="n">local</span> <span class="n">default</span> <span class="n">dev</span> <span class="n">lo</span> <span class="n">table</span> <span class="mi">100</span>
<span class="n">ip</span> <span class="o">-</span><span class="mi">6</span> <span class="n">rule</span> <span class="n">add</span> <span class="n">fwmark</span> <span class="p">{</span><span class="n">TMARK</span><span class="p">}</span> <span class="n">lookup</span> <span class="mi">100</span>
</pre></div>
</div>
<p>where {TMARK} is the identifier mark passed with -t or –tmark flag
as a hexadecimal string (default value is ‘0x01’).</p>
</li>
<li><p>The <code class="docutils literal notranslate"><span class="pre">--auto-nets</span></code> feature does not detect IPv6 routes automatically. Add IPv6
routes manually. e.g. by adding <code class="docutils literal notranslate"><span class="pre">'::/0'</span></code> to the end of the command line.</p></li>
<li><p>The client needs to be run as root. e.g.:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>sudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" $HOME/tree/sshuttle.tproxy/sshuttle --method=tproxy ...
</pre></div>
</div>
</li>
<li><p>You may need to exclude the IP address of the server you are connecting to.
Otherwise sshuttle may attempt to intercept the ssh packets, which will not
work. Use the <code class="docutils literal notranslate"><span class="pre">--exclude</span></code> parameter for this.</p></li>
<li><p>You need the <code class="docutils literal notranslate"><span class="pre">--method=tproxy</span></code> parameter, as above.</p></li>
<li><p>The routes for the outgoing packets must already exist. For example, if your
connection does not have IPv6 support, no IPv6 routes will exist, IPv6
packets will not be generated and sshuttle cannot intercept them:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">telnet</span> <span class="o">-</span><span class="mi">6</span> <span class="n">www</span><span class="o">.</span><span class="n">google</span><span class="o">.</span><span class="n">com</span> <span class="mi">80</span>
<span class="n">Trying</span> <span class="mi">2404</span><span class="p">:</span><span class="mi">6800</span><span class="p">:</span><span class="mi">4001</span><span class="p">:</span><span class="mi">805</span><span class="p">::</span><span class="mf">1010.</span><span class="o">..</span>
<span class="n">telnet</span><span class="p">:</span> <span class="n">Unable</span> <span class="n">to</span> <span class="n">connect</span> <span class="n">to</span> <span class="n">remote</span> <span class="n">host</span><span class="p">:</span> <span class="n">Network</span> <span class="ow">is</span> <span class="n">unreachable</span>
</pre></div>
</div>
<p>Add some dummy routes to external interfaces. Make sure they get removed
however after sshuttle exits.</p>
</li>
</ul>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="chromeos.html"
title="previous chapter">Google ChromeOS</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="windows.html"
title="next chapter">Microsoft Windows</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/tproxy.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>document.getElementById('searchbox').style.display = "block"</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="windows.html" title="Microsoft Windows"
>next</a> |</li>
<li class="right" >
<a href="chromeos.html" title="Google ChromeOS"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">sshuttle 1.1.1 documentation</a> »</li>
<li class="nav-item nav-item-1"><a href="platform.html" >Platform Specific Notes</a> »</li>
<li class="nav-item nav-item-this"><a href="">TPROXY</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2024, Brian May.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.2.6.
</div>
</body>
</html>