Socks-Plug-Gateway

aus PUG, der Penguin User Group
Wechseln zu: Navigation, Suche

Unfertig

Die Aufgabe war, eine Applikation, die nicht Socks-fähig gemacht werden konnte, auf einen per Socks-Proxy erreichbaren Host zugreifen zu lassen. In diesem Fall war das der Mailexchanger der Domain example.com.

Dies sollte über eine Art Plug-Gateway umgesetzt werden, das den Port der Gegenstelle lokal anbietet.

Für die Implementierung dieses Plug-Gateway gibt es zwei Alternativen:

GNU Netcat

In /etc/tsocks.conf wird festgelegt, welche Netze lokal erreichbar sind und welcher Socks-Server benutzt werden soll, wenn per tsocks ein Netz angesprochen werden soll, das nicht lokal ist. Wichtig dabei ist, daß der Eintrag zu server in den mit local definierten Netzen enthalten ist.

local = 192.168.1.0/255.255.255.0
server = 192.168.1.2
server_type = 4
server_port = 1080

In /etc/xinetd.d/plug-via-socks.conf wird die Umsetzung des Port 2525 auf localhost vorgenommen:

service plug-via-socks
{
        disable         = no
        type            = UNLISTED
        bind            = 127.0.0.1
        port            = 2525
        id              = plug-via-socks
        socket_type     = stream
        protocol        = tcp
        user            = nobody
        wait            = no
        server          = /usr/bin/tsocks
        server_args     = /bin/nc -w 10 208.77.188.166 25
}

Hobbit Netcat

Das ursprüngliche Hobbit-Netcat unterstützt bereits Verbindungen per Socks, so daß der Umweg über den tsocks-Wrapper nicht erforderlich ist. Hier kann der nc-Forwarder direkt aus der xinetd.conf den Socks-Server ansprechen:

service plug-via-socks
{
        disable         = no
        type            = UNLISTED
        bind            = 127.0.0.1
        port            = 2525
        id              = plug-via-socks
        socket_type     = stream
        protocol        = tcp
        user            = nobody
        wait            = no
        server          = /usr/bin/nc
        server_args     = -X 4 -x 192.168.1.2:1080 -w 10 208.77.188.166 25
}