• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

socks proxy

susefan

Newbie
es hat zwar nichts mit dem squid zutun, aber ich möchte gern mal wissen wer schon einen socks (dante) eingerichtet hat?
Bitte helft mir !!!!!!!!!!!
mein script bin ich noch am schreiben werden wohl 5- 6 Seiten was ich so gefunden habe und die manpage sind sehr mager
MfG susefan
 
OP
S

susefan

Newbie
endlich mal die ersten ergebnisse

sockd.conf
Aufbau:
Serversettings:
logoutput:
mögliche Werte stdout # Systemstream
stderr # Systemstream
syslog # erstellen einer logfiles
(syslog var/log/dante)
es ist erstmal besser sich eine log Datei anzulegen, eh wir das ganze streamen lassen
eine Kombination ist auch möglich muss aber nicht sein.
logoutput: syslog /var/log/dante/sockd.log
------------------------------------------------------------------------------------------------------------

internal :
mögliche Werte eth? Port = 1080
gemeint ist die interne Netzwerkkarte oder die IP wichtig ist, der Port der muss unbedingt angegeben werden.
Andere IPs’ die angegeben werden, werden ignoriert. Hier horcht der Server nur auf den angegebenen Wert.
internal: eth1 port = 1080
------------------------------------------------------------------------------------------------------------

external:
möglicher Wert währe schön das zu wissen normalerweise die IP vom Provider
oder kann man auch das Interface eintragen ppp0
external: ppp0
------------------------------------------------------------------------------------------------------------

method:
möglicher Wert username
none
pam
rfc931
ist die Authentifikationsmethode
method: none
Ist eigentlich das, wo man sich über die Anmeldungsroutine ein wenig unterhalten kann.
Ich habe es noch nicht getestet
Bei rfc931 muss der Benutzer in der passwd stehen
----------------------------------------------------------------------------------------------------------------------------------------

clientmethod:
mögliche Werte siehe method
clientmethod: none
Benutzer Spezifische Anmeldung wie weiß ich auch noch nicht
----------------------------------------------------------------------------------------------------------------------------------------

user.privileged:
mögliche Werte sockd
root
oder ein anderer
user.privileged: root
für privilegierte Operationen in dem Fall root bietet zwar keine so große Sicherheit aber wenn das System ordentlich geschützt ist, dürfte nix passieren.
Ist ein anderer user eingetragen, dann dann ist zwar die Sicherheit am größten aber es können keine Aktion gegenüber einen privilegierten user ausgeführt werden.
----------------------------------------------------------------------------------------------------------------------------------------



user.notprivileged:
mögliche Werte sockd
oder ein anderer
user.notprivileged: sockd
es ist fast vorstellbar, was das zu sagen hat. User für fast alle Operationen, die keine besonderen Rechte erfordern. Muss aber in der passwd stehen.  useradd sockd
----------------------------------------------------------------------------------------------------------------------------------------

user.libwrap:
mögliche Werte libwrap
ist eine Große Absicherung auf dem Server. Nur bestimmte User haben das Recht Befehle wie sshd auszuführen. Genauer Ablauf muss ich mich noch kundig machen. Das Interessante ist, man kann sogar so was wie einen Fingerabdruck ablegen.
# user.libwrap: libwrap
----------------------------------------------------------------------------------------------------------------------------------------

compatibility:
mögliche Werte sameport
reuseaddr
sameport gleiche Verwendung des Ports für die ausgehende Verbindung, den der Client für seine Anfragen an den Socks-Server verwendet hat. Bei Sourceports aus dem privilegierten Bereich kann es Probleme geben. Die Einstellung ist Standart.
reuseaddr wenn es doch Probleme gibt, kann man diese Einstellung vornehmen. Es ist aber noch nicht bekannt, warum es funktioniert. Also mit Vorsicht genießen.
compatility: sameport
----------------------------------------------------------------------------------------------------------------------------------------

extension:
mögliche Werte bind
Der Dante Server unterstützt einige Erweiterung an das socks Protokoll. Diese erfordert, dass der socks- Client die gleiche Erweiterung ausführt und kann mit dem „Erweiterung“ Passwort ermöglicht werden.
#extension: bind
----------------------------------------------------------------------------------------------------------------------------------------
connecttimeout:
mögliche Werte in sekunden
ich schreibe mal den Auszug aus dem Firewall Buch was ich sehr interessant finde
Ist der Wert 0, wartet der Proxy ohne zeitliche Beschränkung auf die Anfrage nach dem Verbindungsaufbau. Ist ein positiver Wert eingetragen, wird die Verbindung nach dem Timeout gekappt, wenn kein Request erfolgt. Dabei muss man die Authentifikationsmethoden berücksichtigen:
Ist none erlaubt, muss sich der Client nicht authentifizieren und der erste Request kann schnell folgen.
Setzt man aber rfc931 an die erste Stelle, kann es passieren, dass erst der Timeout der Ident- Abfrage ablaufen muß bei Clients, die das nicht unterstützen. Die benötigte Zeit wird ebenfalls beeinflusst durch die Netzwerkanbindung. Im LAN (10/100 MBit) genügt ein Wert zwischen 30 und 60 Sekunden, bei Verbindungen über ISDN oder Modem sollte der Timeout größer sein. Gegebenfalls muß man etwas experimentiren.
connecttimeout: 30
----------------------------------------------------------------------------------------------------------------------------------------
iotimeout:
möglicher Wert in Sekunden
gibt die Zeit an, wo die Verbindung abgebaut werden soll, sobald keine Daten mehr übertragen werden. Der Wert 0 bleibt die Verbindung bestehen.
iotimeout: 0
----------------------------------------------------------------------------------------------------------------------------------------

srchost:
mögliche Werte nounknown
nomismatch
nomismatch: verhindert den Verbindungsaufbau, wenn die IP- Adresse im DNS nicht mit dem Hostname übereinstimmt
nounknown: verhindert die Verbindung, wenn der Host nicht im DNS eingetragen ist.
das zum Thema DNS
srchost: nomismatch
----------------------------------------------------------------------------------------------------------------------------------------
client rules
folgen


schön wenn ich einige Antworten bekomme Danke
MfG susefan
 

Mister Magu

Newbie
Hallo liebe Linux Community,

ich habe da so ein Problem mit meinem Dante PROXY,

hat schon irgendjemand hierzu Erfahrung sammeln können !?

Habe auf meinem Server die sockd.conf und auf dem Clienten die socks.conf soweit aufgesetzt.

Als Referenz beziehe ich mich mal auf Host: chat.chat4free.de Port:8002

diesen Chat gilt es zum laufen zu bringen.

Mein System besteht aus einem Squid-PROXY, u.s.w., der wiederum über WLAN an das DSL (Grundstücksübergreifend angeschlossen ist.

Hier meine IP's:

Server:

eth0 (extern) 192.168.178.5
eth1 (intern) 192.168.179.5

WLAN_ROUTER (Gegenstelle) 192.168.178.1

Client:

eth0 192.168.179.10

Ich füge euch hier mal noch meine CONFIG-Files mit ein.

***************************************************************

###########################
Socks.conf####################
###########################

# debug sollte man nur aktivieren, wenn etwas nicht funktioniert. diese
# option generiert wirklich viel output.
#debug: 1

###########################
################# LOGOUTPUT
###########################
# das sollte man auch auskommentieren, wenn alles funktioniert
#logoutput: stdout

##################################
################# RESOLVEPROTOKOLL
##################################
# das protokoll das benutzt wird, um die hostnamen aufzulösen. ja, das kann
# der socks-proxy auch
resolveprotocol: udp

########################
################# ROUTEN
########################
# mit dieser regel wird der zugriff auf den dns-server geregelt. wir haben doch
# alle einen am laufen, oder? wenn nicht: hurtig einen einrichten...
# aus irgendwelchen gründen hat das alles nicht funktioniert, wenn ich die /32
# weggelassen hatte. seltsam...
route {
from: 0.0.0.0/0 to: 192.168.192.5/32 port = domain via: direct
}

# auf das loopbackdevice möchte ich direkten zugriff. allerdings nur
# "connect" und "udpassociate". "bind" würde in einer katastrophe enden
route {
from: 0.0.0.0/0 to: 127.0.0.0/8 via: direct
command: connect udpassociate
}

# genauso wie auf mein internes netz. es wird vieles besser funktionieren
route {
from: 0.0.0.0/0 to: 192.168.179.0/24 via: direct
}

# mit dieser regel wird der zugriff auf hosts ausserhalb unseres netz geregelt.
# in diesem fall hosts, die nur per ip-adresse angesprochen werden...
route {
from: 0.0.0.0/0 to: 192.168.179.0/24 via: 192.168.179.5 port = 1080
protocol: tcp
proxyprotocol: socks_v4 socks_v5
method: none
}

# das gleiche wie oben, nur wird dieses mal der zugriff geregelt, wenn der
# host mit dem hostnamen angesprochen wird...
route {
from: 0.0.0.0/0 to: . via: 192.168.179.5 port = 1080
protocol: tcp
proxyprotocol: socks_v4 socks_v5
method: none
}

*******************************************************************

###########################
Sockd.conf####################
###########################

logoutput: syslog /var/log/sockd.log
internal: 192.168.179.5 port = 1080
external: 192.168.178.5
method: none
clientmethod: none
#user.privileged: sockd
#user.notprivileged: sockd
#user.libwrap: libwrap
compatibility: sameport
#extension: bind
connecttimeout: 90
iotimeout: 0
srchost: nounknown
#####################################################################
######################## "client" rules.#############################
#####################################################################
#--------------------------------------------------------------------
######################### welche clients ############################
#--------------------------------------------------------------------
client pass {
from: 192.168.179.0/24 port 1-65535
to: 192.168.179.5/24
method: none
}
# keine sonstigen Clients erlauben
client block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}
#--------------------------------------------------------------------
######################## welche Dienste #############################
#--------------------------------------------------------------------
# loopback am Server
block {
from: 0.0.0.0/0 to: 127.0.0.0/8
log: connect error
}
block {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: bind
log: connect error
}
#-------------------------------------------------------------------
################### Erlaubt ########################################
#-------------------------------------------------------------------
# "active" ftp uses it.
pass {
from: 0.0.0.0/0
to: 192.168.179.0/24
command: bindreply udpreply connect
log: connect error
}
pass {
from: 192.168.179.0/24
to: 192.168.179.5/24 port= domain #0.0.0.0/0 port = domain #192.168.1.3/24 port = domain
method: none
log: connect error
}
# alle clients duerfen surfen
# da bin ich noch am arbeiten
pass {
from: 192.168.179.0/24
to: 0.0.0.0/0 port = http
log: connect error
method: none
}

#--------------------------------------------------------------
####################### tcp,udp Erlaubt #######################
#--------------------------------------------------------------
pass {
from: 192.168.179.0/24 to: 0.0.0.0/0
protocol: tcp udp
method: none
log: connect error
}
# den rest sperren
block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}


P.S.: Inzwischen werden die Java-applets von CHAT4FREE.de im Browser auch geladen, denke mal das nicht mehr allzuviel modifiziert werden muss, bestimmt nur ein Leichtsinnsfehler.


Ich wäre für präzise Hilfe sehr dankbar!!

MfG

MM
 
Oben