# Gentoo über Proxy-Server [es geht weiter]

## 72_6f_6c_61_6e_64

Hallo,

ich sitze in der Schule hinter einem Proxy-Server, und habe folgendes Problem.

Ich muss bei Opera immer den Proxy-Server manuell einstellen. (Geht das mit einem Script, dass er den einstellt, wenn er ihn anpingen kann?)

Ich verwende Conky, und lasse mir anzeigen ob Seiten online sind. Das funktioniert hinter dem Proxy halt nicht mehr. Deshalb die Frage, kann man bei Gentoo wie bei Windows systemweit einen Proxy einrichten? (und auch da wieder die Frage, ob man den automatisch einrichten kann, wenn er anpingbar ist.)

Ich hoffe das ist verständlich formuliert.

LG Roland

----------

## Beforegod

Die Variablen http_proxy, ftp_proxy und proxy sollten Dein Freund sein:

```

export http_proxy=YOUR_PROXY_IP:PORT

```

Bei Opera gibts glaub ich keine Anpassung an die Systemweiten Proxys. Kann mich hier aber irren.

Um die Proxies bei jedem Neustart wieder zu haben hilft das hier:

```

vim /etc/profiles.d/proxy.sh

!!Einträge siehe oben!!

chmod +x /etc/profiles.d/proxy.sh

```

----------

## 72_6f_6c_61_6e_64

Hab ich das jetzt richtig verstanden:

wenn ich export http_proxy=YOUR_PROXY_IP:PORT eigebe stelle ich YOUR_PROXY_IP:PORT als systemweiten Proxy ein?

Wie stell ich ihn auf normal = kein Proxy?

Kan man einen cron-job starten der den befehl ausführt wenn ein server in dem netz erreichbar ist (anpingen), und den befehl rückgängig macht (kein proxy) wenn der server nicht erreichbar ist?

Ich glaube der Opera geht, wenn man keinen Proxy einstellt, aber systemweit einen eingestellt hat einfach so, (windowserfahrung)

LG Roland

----------

## Beforegod

Ok, ich hol mal etwas aus  :Smile: 

die Variable *_proxy ist für die Proxy Einstellung an sich zuständig.

Hast Du Dich als User angemeldet und gibts auf der Linux Konsole oder in einem Terminal export http_proxy=PROXY_IP:PORT ein, gilt das nur für diese Sitzung.

Systemweit trägst Du das dann mit der Erstellung einer Datei in /etc/profiles.d ein.

Wenn Du keinen Proxy mehr haben möchtest, reicht das deaktivieren der Variable oder ein export _proxy=""

Eine automatische Lösung ist mir nicht bekannt.

----------

## 72_6f_6c_61_6e_64

 *Beforegod wrote:*   

> Systemweit trägst Du das dann mit der Erstellung einer Datei in /etc/profiles.d ein

 

Ich hab keine /etc/profiles.d. Ist das ein Tippfehler, oder muss man die Datei erst anlegen.

 *Beforegod wrote:*   

> Eine automatische Lösung ist mir nicht bekannt.

 

Ich hätte gemeint, das man die Datei, in der das steht kopiert, und mit einem script wechselt:

 */etc/profiles.d-proxy wrote:*   

> ...
> 
> export http_proxy=172.17.160.7:8000
> 
> ...

 

 */etc/profiles.d-no-proxy wrote:*   

> ...
> 
> export http_proxy=""
> 
> ...

 

und dann einen script, der eine der beiden nach /etc/profiles.d linkt.

LG Roland

----------

## Beforegod

 *Quote:*   

> Ich hab keine /etc/profiles.d. Ist das ein Tippfehler, oder muss man die Datei erst anlegen. 

 

Bitte das Verzeichnis anlegen. (mkdir /etc/profiles.d)

mit vim /etc/profiles.d/proxy.sh die Datei anlegen und dort die Proxy Variable eintragen.

Eine alternative wäre ein Skript mit dem Inhalt:

```

proxyon.sh :

declare -x http_proxy=PROXY:PORT

```

```

proxyoff.sh :

declare -x http_proxy=""

```

Ob die Skripte so funktionieren kann ich aktuell nicht sagen, da ich nicht an meiner Kiste sitze  :Smile: 

----------

## 72_6f_6c_61_6e_64

Hallo,

das /etc/profiles.d/ war bei mir nicht, dafür hatte ich ein /etc/profile.d

ich hab dort die entsprechenden Dateien eingefügt, und wenn ich im verzeichnis ein ./proxy-vbs.sh ausführe kommt bei einem echo $http_proxy nur eine leere Zeile.

Bzw. ich kann weder vor, noch nach ausführen des Skripts den gentoo.org server anpingen.

Auch mit: export http_proxy=YOUR_PROXY_IP:PORT in den scripten funktioniert das nicht.

----------

## Beforegod

Ok, Typo meinerseits /etc/profile.d ist richtig  :Smile: 

Ein Ping wird auch mit dem Proxy nicht gehen. Die Daten werden beim Systemstart neu geladen. Das einzige was Du mal probieren kannst ist, die Variable in einem Terminal Fenster festzulegen und mit Lynx/Links/$BROWSER Zugriff auf Webseiten zu probieren.

----------

## 72_6f_6c_61_6e_64

Das heißt das geht nur mit Neustart?

----------

## Beforegod

Probiers mal mit declare -x http_proxy=PROXY:PORT

----------

## 72_6f_6c_61_6e_64

Ist oben blöd formuliert, ich habs mit declare und mit export probiert.

Ist ohne Neustart nix zu machen?

Was heißt für die Sitzung? Für den User oder nur für das Xterm-Fenster?

LG Roland

----------

## Beforegod

 *72_6f_6c_61_6e_64 wrote:*   

> Ist oben blöd formuliert, ich habs mit declare und mit export probiert.
> 
> Ist ohne Neustart nix zu machen?
> 
> Was heißt für die Sitzung? Für den User oder nur für das Xterm-Fenster?
> ...

 

Arg vergiss nochmal das mit declare und export. Mein Fehler. Ist schon Müll wenn man nicht an nem Linux System sitzt.

Also:

Systemweites setzen ausschließlich über /etc/profile.d/proxy-vbs.sh (mit export http_proxy=PROXY:PORT)

In einer aktuellen Sitzung (entweder Linux Konsole oder xterm Fenster kannst Du auch mittels http_proxy=PROXY:PORT oder export http_proxy=PROXY:PORT die Variable setzen.

Ohne Neustart ist das glaub ich nicht systemweit zu setzen (lass mich aber gerne korrigieren).

----------

## AmonAmarth

ich versteh noch nicht so ganz was dagegen spricht die env variable in /etc/env.d/ zu setzen? danach ein "env-update" und alle sich neu einloggenden user haben die variable gesetzt. dazu braucht man nicht das ganz system zu restarten.

gruß

----------

## Max Steel

Kann man in /etc/env.d mit Shell-POSIX kommen?... um wirklich mit if-else Statements zu überprüfen ob verschiedene Proxys z.B. laufen und damit dann dem PC verschiedene Proxy-Einstellungen zu geben?

----------

## AmonAmarth

 *Max Steel wrote:*   

> Kann man in /etc/env.d mit Shell-POSIX kommen?... um wirklich mit if-else Statements zu überprüfen ob verschiedene Proxys z.B. laufen und damit dann dem PC verschiedene Proxy-Einstellungen zu geben?

 

von einer if abfrage ist hier gerade zum ersten mal die rede. bisher belief sich die prolematik nur darauf die shell variable global setzen zu können. das wäre mit /etc/env.d ohne weiteres möglich. ich bezweifle aber, wie du auch, das man dort ein shell script abwerfen kann.

----------

## Max Steel

Jaein, der Threadstartet sagte weiter oben nämlich bereits das er "prüfen möchte ob der Proxy da ist (anpingbar) und wenn ja die Variable entsprechend setzen, ansonsten die Variable ungesetzt lassen.

----------

## Genone

Um mal etwas Licht ins Thema "systemweit" zu bringen: Wenn man Umgebungsvariablen in /etc/profile (das beinhaltet auch /etc/profile.d/* und /etc/profile.env) setzt werden diese von jeder neuen Login Shell übernommen. Ein Neustart ist also nicht notwendig, allerdings evtl. ein aus- und wieder einloggen wenn man nicht dauernd neue Subshells starten will. Wenn man die Dateien austauscht wirkt sich das aber halt auch nicht auf laufende Prozesse aus, du musst also auf jeden Fall den Browser neustarten.

 *Quote:*   

> Bzw. ich kann weder vor, noch nach ausführen des Skripts den gentoo.org server anpingen. 

 

Das ist richtig, um Variablen per Datei zu setzen darf man diese nicht ausführen sondern muss sie von der Shell parsen lassen (via 'source' bzw. '.' Befehl). Wenn man die Datei ausführt werden gelten die Einstellungen nämlich nur für die Subshell, in der das Skript läuft.

----------

## 72_6f_6c_61_6e_64

Puh, so viel input^^

Also, folgendes Problem: 

mac cups

Ich habe eine Internetverbindung ohne Proxy.

In der Schule habe ich nur über den Proxy eine Internetverbindung.

so wie ich das jetzt verstanden habe führe ich den /etc/profile.d/proxy-vbs.sh (export http_proxy=172.17.160.7:8000)

aus, führe ein env-update aus (auch ein 'source /etc/profile'? Sowas kam mal im Handbuch) dann beende ich den Xorg.Server und logge mich neu ein, nach einem startx hab ich dann in der grafischen Oberfläche den Proxy.

Um das rückgängig zu machen führe ich /etc/profile.d/proxy-off.sh (export http_proxy="") aus und mach den ganzen vorgang wie oben?

Mir war nicht klar wie man den Proxy setzt, deshalb klaffte das so auseinander.

Im endeffekt wärs schön, wenn sich der proxy allein setzt, aber wenn man die oberfläche neustarten muss, belass ichs glaub ich bei den scripts.

LG Roland

----------

## Beforegod

Erstmal danke an @Genone und @Amonamarth für die Erklärung.

@72_6f_6c_61_6e_64:

Nochmal kurz gefasst:

Zum setzen der Variable (ohne Skript und ohne Abfrage) erstellst Du eine /etc/profile.d/proxy.sh

Darin setzt Du http_proxy und gut ist.

Dieses Variable ist dann in jeder neuen Shell aktiv.

Ein ping hat mit einem Proxy recht wenig gemein. Da ist ein DNS von nöten, der erreichbar sein sollte. Von daher wäre die Frage was genau Du anpingen willst? Den Proxy oder eine externe IP?

Willst Du daraufhin ein Skript basteln, wäre das etwas für den Systemstart.

Du richtest quasi ein Skript ein unter /usr/local/bin/ und machst dann einen ping auf den Proxy oder sonstwas. Ist der Ping erfolgreich (im Falle auf den Proxy) schreibst Du eine Datei in /etc/profile.d oder /etc/env.d mit den Proxy Variablen. Ist der Ping erfolgslos löscht Du die Variable aus dem Verzeichnis.

----------

## 72_6f_6c_61_6e_64

Hallo,

das mit dem proxy.sh in /etc/profile.d/ hab ich jetzt verstanden, er zeigt es auch mit echo $http_proxy an.

Jetzt stellen sich mir die Fragen:

wie heißen die Variablen für:

https

ftp

socks? (was ist das?)

Und: wie gebe ich in dem File die Domäne, den Benutzernamen und das Passwort an?

Wegen dem Script: Ich hab vor das auch zu machen, aber erst wenn sonst alles geht, und ichs verstanden hab.

Bzw. ich verwende den networkmanager, ifplugd und habe net.wlan0/eth0 in keinem runlevel. Das heißt doch, dass ich mich erst nach starten der Grafischen oberfläche mit dem wlan der schule verbinde, und er deshalb immer ohne proxy startet oder?

----------

## Beforegod

 *72_6f_6c_61_6e_64 wrote:*   

> Hallo,
> 
> das mit dem proxy.sh in /etc/profile.d/ hab ich jetzt verstanden, er zeigt es auch mit echo $http_proxy an.
> 
> Jetzt stellen sich mir die Fragen:
> ...

 

Benutzername und Passwort werden so angegeben (Beispiel):

export http_proxy=http://USERNAME:PASSWORT@PROXY:PORT

Hast Du eine NTLM Authentifizierung wirds etwas kompliziert (Microsoft Proxy). 

 *72_6f_6c_61_6e_64 wrote:*   

> 
> 
> Wegen dem Script: Ich hab vor das auch zu machen, aber erst wenn sonst alles geht, und ichs verstanden hab.
> 
> Bzw. ich verwende den networkmanager, ifplugd und habe net.wlan0/eth0 in keinem runlevel. Das heißt doch, dass ich mich erst nach starten der Grafischen oberfläche mit dem wlan der schule verbinde, und er deshalb immer ohne proxy startet oder?

 

Ist egal, da der Proxy ja Systemweit und unabhängig der Netzwerkverbindung gesetzt wird.

Welcher Proxy wird verwendet (MS ISA Server, Forefront Server, Squid usw.)?

----------

## 72_6f_6c_61_6e_64

[quote="Beforegod"]https -> https_proxy 

ftp -> ftp_proxy

...

export http_proxy=http://USERNAME:PASSWORT@PROXY:PORT[/qoute]

Danke, wie ist das mit der Domäne? Verstehs grad nicht, ob das einen Unterschied macht.

 *Beforegod wrote:*   

> Welcher Proxy wird verwendet (MS ISA Server, Forefront Server, Squid usw.)?

 

MS ISA Server

 *Beforegod wrote:*   

> Ist egal, da der Proxy ja Systemweit und unabhängig der Netzwerkverbindung gesetzt wird.

 

Ich mein, mit dem Ping wirds nicht funktionieren, weil der Server im Netz der Schule vor dem Start der Oberfläche nie erreichbarsein wird, und deshalb der Skript zum aktivieren des Proxys keinen Sinn machen würde.

LG Roland

----------

## 72_6f_6c_61_6e_64

zu dem SOCKS: wenn der Proxy eh nur http, https und ftp durchlasst brauch ich socks dann eh nicht oder?

----------

## 72_6f_6c_61_6e_64

Das mit dem:

export http_proxy=http://user:password@proxy:port

geht nicht so wirklich:

nach env-update, awesome-wm schließen, logout, login, startx, links auf google.

geht nichts.

----------

## Beforegod

Mit einem ISA Server wirst Du da nicht weiter kommen. Dieser verwendet im Regelfall NTLM Authentifizierung welches mit der Variable nicht möglich ist.

Du kannst im MS ISA Server eine Regel festlegen, das eine bestimmte IP freigeschalten wird, das heisst Du gibst die Proxy Variable an ohne Benutzer und der ISA schleifts durch.

Wenn Du keinen zugriff auf den ISA Server hast, benötigst Du das Programm ntlmaps. Das ist ein kleiner Dienst der im Hintergrund läuft und dort die Authentifizierung für Dich übernimmt.

Dazu installierst Du ntlmaps (emerge ntlmaps -> ironisch ohne Proxy ich weiss), passt die Konfiguration an (glaube sie ist unter /etc/ntlmaps/config -> such aber bitte auf Deinem System) und startest mittels /etc/init.d/ntlmaps start den Dienst. Danach musst Du die PROXY Variable auf localhost:NTLMPORT setzen (NTLMPORT entnimmst Du der ntlmaps Konfiguration).

Mit dem Ping wirds dann schwierig. Entweder gibts da was im Networkmanager (ifupd) oder sonstwo. Verwende ihn nicht, von daher kann ich Dir nicht weiterhelfen.

Zu SOCKS: Normal setzt Du einen Socks Proxy auf um damit vollen Zugriff auf das Netz zu erlangen (mit Port Zuweisungen). Das muss die Anwendung von sich aus Unterstützen oder Du gehst Umwege (bitte hier nachschauen -> http://www.linux.org/docs/ldp/howto/Firewall-HOWTO-11.html ).

----------

## 72_6f_6c_61_6e_64

Hab die config gefunden und angepasst.

Ich hab aber jetzt folgendes Problem, oder ist das keins?

```
 /etc/init.d/ntlmaps start

 * Caching service dependencies ...

 *  Cannot add provide 'net', as a service with the same name exists!                                                                                              [ ok ]

 * Service ntlmaps starting

 * WARNING:  ntlmaps is scheduled to start when net.eth0 has started.
```

LG Roland

Aja, gehört das in boot oder in default?

----------

## Beforegod

Fehlermeldung ist doch eindeutig  :Smile: 

Der Dienst wartet bis net.eth0 gestartet ist.

Nimm mal aus der /etc/init.d/ntlmaps die Abhängigkeit von net.eth0 raus, dann sollte es auch so starten.

----------

## 72_6f_6c_61_6e_64

hmmm, 

so schaut jetzt meine /etc/init.d/ntlmaps aus:

```
#!/sbin/runscript

# Copyright 1999-2004 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/net-proxy/ntlmaps/files/ntlmaps.init,v 1.3 2005/10/06 21:39:47 mrness Exp $

PID_FILE="/var/run/ntlmaps.pid"

start() {

        ebegin "Starting ntlmaps"

        touch ${PID_FILE}

        chown ntlmaps:ntlmaps ${PID_FILE}

        cd /var/log/ntlmaps && \

                start-stop-daemon --quiet --start --background --exec /usr/bin/python \

                        --make-pidfile --pidfile ${PID_FILE} --chuid ntlmaps -- /usr/bin/ntlmaps < /dev/null && \

                sleep 1

        eend $?

}

stop() {

        ebegin "Stopping ntlmaps"

        start-stop-daemon --stop --quiet --pidfile ${PID_FILE} && \

                rm -f ${PID_FILE}

        eend $?

}
```

ich bekomm aber immer noch:

```
/etc/init.d/ntlmaps start

 * Caching service dependencies ...

 *  Cannot add provide 'net', as a service with the same name exists!                                                                                              [ ok ]

 * Service ntlmaps starting                                                                                                                                        [ !! ]

 * ERROR:  ntlmaps failed to start
```

----------

## Beforegod

ok, am besten Änderung rückgängig machen und mal die ntlmaps.conf posten. evt. steht da eine Abhängigkeit drinnen.

----------

## 72_6f_6c_61_6e_64

```
#========================================================================

[GENERAL]

LISTEN_PORT:5865

# If you want APS to authenticate you at WWW servers using NTLM then just leave this

# value blank like PARENT_PROXY: and APS will connect to web servers directly.

# You can specify more than one proxy by leaving a space between each one, and

# APS will detect when one fails and automatically fail-over to the next. EG:

#PARENT_PROXY:first_proxy second_proxy third_proxy

# And NOTE that NTLM cannot pass through another proxy server.

PARENT_PROXY:your_parentproxy

PARENT_PROXY_PORT:8000 8080

# APS will poll the upstream proxy and attempt to fail-over to a new one if it doesn't

# get a response within an appropriate time frame.  The amount of time that it will

# wait for a response before attempting fail-over is specified, in seconds, below:

PARENT_PROXY_TIMEOUT:15

# Set to 1 if you want to grant this authorization service to clients from other computers.

# NOTE: all the users from other hosts that will be using you copy of APS for authentication

# will be using your credentials in NTLM auth at the remote host.

ALLOW_EXTERNAL_CLIENTS:0

# If you want to allow some other but not all computers to use your proxy for authorization,

# just set ALLOW_EXTERNAL_CLIENTS:0 and put friendly IP addresses here.

# Use space as a delimiter.

# NOTE that special addesses don't work here (192.168.3.0 for example).

FRIENDLY_IPS:

# Requested URLs are written to "url.log" file. May be useful.

#URL_LOG:0

URL_LOG:1

# When a network service listens for connections, there is a maximum number of connection

# attempts to that service that the underlying OS will allow to backlog waiting for a response

# before the OS will start dropping new connection attempts with 'Connection refused'.  The

# standard method of determining the maximum number of backlogged connections is to use the

# SOMAXCONN constant, which is supposed to represent the maximum number that an OS will support

# (for example, 5 on Windows 2000 Pro, and 200 on Windows 2000 server).  However, because this

# is a statically compiled value in a Python distribution, usually this instead represents the

# the most conservative value (5 on all Windows platforms, and 128 on the GNU/Linux variant I

# tried).  So if you are running (for example) a massively threaded/parallel download manager,

# the default value of, say, 5, or whatever SOMAXCONN happens to be set to, may be too low and

# cause some connections to fail.  The value below can be set to any integer (it seems that

# Python just silently caps values above the hard limit for the underlying platform), or it can

# be set to the special value of SOMAXCONN (i.e. MAX_CONNECTION_BACKLOG:SOMAXCONN), to use

# whatever this value happens to be set to in your Python build.  Setting this higher than

# necessary may cause APS to consume more memory than you needed to.

MAX_CONNECTION_BACKLOG:5

#========================================================================

[CLIENT_HEADER]

# This section describes what and how the server should change in the clients headers.

# Made in order to prevent parent proxy from seeing that you are using wget instead of IE5.5

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*

User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)

# for windows 2000 emulation ;)

# User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT5)

# You can uncomment these chages in client's header to mimic IE5+ better, but in this case

# you may expirience problems with *.html if your client does not really handle compression.

#Accept-Encoding: gzip, deflate

#========================================================================

[NTLM_AUTH]

# Optional value, if leaved blank then APS will use gethostname() to determine

# host's name.

# NOTE1: If you Linux host name differs from Windows host name then it may be that

#        MS server wont recognize you host at all and wont grant you access

#        to resources requested. Then you have to use this option and APS will use

#        this name in NTLM negotiations.

# NOTE2: There are several reports that you can successfully use "foreign" host name

#        here. Say, if user may access a resource from 'host1' and may not from 'host2'

#        then there is a chance that APS running on 'host2' with NT_HOSTNAME:host1 will

#        be able to be granted access to the restricted resource. However use this on

#        you own risk as such a trick may be considered as a hack or something.

NT_HOSTNAME:<hostname>

#NT_HOSTNAME:<hostname>

# Windows Domain.

# NOTE: it is not full qualified internet domain, but windows network domain.

NT_DOMAIN:<domain>

# What user's name to use during authorization. It may differ form real current username.

# If you enable NTLM_TO_BASIC, below, you can either leave this blank or simply

# hash it out.

USER:<user>

# Password. Just leave it blank here and server will request it at the start time,

# or, if you enable NTLM_TO_BASIC, below, you can either leave this blank or simply

# hash it out, and you *won't* be prompted for a password at start time.

PASSWORD:<password>

# These two options replace old FULL_NTLM option.

# NTLM authentication consists virtually of two parts: LM and NT. Windows95/98 use

# only LM part, WindowsNT/2000 can use NT and LM or just NT part.

# Almost always using just LM part will be enough. I had several reports

# about LM and NT requirement and no about just NT.

# So try to setup 1, 1 only if you have enough reasons to do so and when you understand

# what you are doing.

# 0, 0 is an illegal combination

# NOTE: if you change these options then you have to setup flag option accordingly.

LM_PART:1

NT_PART:0

# Highly experimental option. See research.txt for details.

# LM - 06820000

# NT - 05820000

# LM + NT - 07820000

NTLM_FLAGS: 06820000

# This option makes APS try to translate NTLM authentication to very usual "Basic"

# scheme. Almost all http clients know it. With this option set to 1 user will be requested

# by his browser to enter his credentials and these username and password will be used by

# APS for NTLM authentication at MS Proxy server or Web server.

# In such a case different users can use one runnig APS with their own credentials.

# NOTE1: currently translation works so it allows only one try for entering

#        username/password. If you make a mistake you will have to restart you browser.

# NOTE2: With debug:1 basic username/password will be written in log file in clear

#        text format. I could try hide it, but the basic scheme is so weak that anybody

#        who had access to APS would be able to get it.

NTLM_TO_BASIC:0

#========================================================================

[DEBUG]

# Set this to 1 if you want to see debug info in many log files. One per connection.

DEBUG:0

# Set this to 1 to get even more debug info.

BIN_DEBUG:0

# Set this to 1 to see some strange activity on screen. Actually you won't want it.

SCR_DEBUG:0

# Not actually a debug option but gives you some details on authentication process

# into *.auth logs. Also see research.txt.

AUTH_DEBUG:0
```

Ich hab keine Abhängigkeiten gefunden

----------

## Beforegod

Ok, dann muss ich passen.

Aber Du kannst prüfen ob ntlmaps trotzdem im Hintergrund läuft. Der Zugriff kann ja trotzdem erfolgen. (über http_proxy=localhost:8000)

----------

## 72_6f_6c_61_6e_64

Hallo,

ich wollte schon fast den Thread als gelöst kennzeichnen, weil ntlmaps ohne Probleme gestartet ist. Aber jetzt hab ich ihn neugestartet, und es kommt eine 

Fehlermeldung. (ich hab ntlmaps in default, ist das der Fehler?)

Ich hab in der /etc/init.d/ntlmaps einfach "need net.lo" reingeschrieben, und er hat mit einem /etc/init.d/ntlmaps restart auch angezeigt, das er auf 

localhost:5686 (glaub so wars) läuft.

Aber jetzt nach einem Neustart kommt ein Error.        

Ich hatte auch den Fehler, das netmount immer darauf bestanden hat ein net.eth0 gestartet zu haben. Auch dort hab ich das durch net.lo ersetzt.

Stimmt das so? Oder kann das dann nicht funktionieren? Ich kenn mich soo tief in Gentoo noch nicht wirklich aus, aber ich weiß dass net.eth0 und net.wlan auf 

net.lo linken.

LG Roland

----------

## Beforegod

Auch wenn der Link auf net.lo geht, innerhalb des skriptes wird geprüft was nach dem . steht. Also eth0, wlan oder sonstwas.

Daher wieder alles auf eth0 ändern und mit der Warnung leben (sofern es funktioniert).

----------

## 72_6f_6c_61_6e_64

Hallo,

in der ntlmaps war nur 'need net' ohne was dran.

Aber jetzt hab ich das wieder auf 'need net' gesetzt und beim Starten kommt das:

```
 * Caching service dependencies ...

 *  Cannot add provide 'net', as a service with the name exists!   [ ok ]

 * Service ntlmaps starting

 * WARNING:  ntlmaps is scheduled to start when net.eth0 has started
```

Wenn ich auf 'need net.wlan0' ändere kommt das:

```
 * Caching service dependencies ...

 *  Cannot add provide 'net', as a service with the same name exists!   [ ok ]

 * Service ntlmaps starting

 * Service net.wlan0 starting

 * WARNING:  net.wlan0 has started but is inactive

 * WARNING:  ntlmaps is scheduled to start when net.wlan0 has started.
```

Ich blick da nicht mehr durch. Das inactive ist wegen ifplugd oder? Meines Wissens geht das aber nur auf eth0

LG Roland

----------

## Beforegod

Mit dem inactive passt ja soweit. Du hast ja gesagt, das Du das WLAN über den Networkmanager aktivierst.

Also aktivier WLAN und versuch ob Du mittels gesetzter Proxy Variable (export http_proxy=localhost:PORTVONNTLMAPS) ins Internet kommst.

Und keinen Ping, sondern eine Webseite testen.

----------

## 72_6f_6c_61_6e_64

Habs probiert, es geht nicht.

----------

## Beforegod

Bau hier mal Dein NetworkManager + ntlmaps Script ein

http://en.gentoo-wiki.com/wiki/NetworkManager#.28Optional.29_Dependencies_of_Baselayouts_Networking_Script

----------

## 72_6f_6c_61_6e_64

Hallo,

ich hab kein +ntlmaps flag bei networkmanager oder nm-applet.

ich hab jetzt anhand der anleitung folgende datei gebastelt:

 */etc/NetworkManager/dispatcher.d/50-ntlmaps-client wrote:*   

> #!/bin/bash
> 
> /etc/init.d/ntlmaps status | grep -q "started"
> 
> started=$?
> ...

 

War das gemeint?

Dann hab ich ntlmaps aus rc-update rausgenommen und neugestartet: und dann hab ich das:

ein /etc/init.d/ntlmaps zap gibt folgendes aus:

 * Manually resetting ntlmaps to stopped state.

und ein nc localhost:5865 gibt folgendes aus:

localhost:5865: forward host lookup failed:

Mit links testen kann ichs erst morgen in der Schule

LG Roland

----------

## 72_6f_6c_61_6e_64

Ich pausier das mal offiziell

Wenn ic hwieder Zeit hab, schick ich dir ne pm

und wenn lösungen da sind poste ich sie.

LG Roland

----------

## Robmaster

Hallo was du möchest ist kein problem.

1 Transparenten Proxy aufsetzen.

2 Proxy Addresse als default gw über deinen dhcp-server verteilen.

----------

## 72_6f_6c_61_6e_64

Hallo,

wir haben in der Schule einen Proxy, auf den ich keinen Zugriff habe, und in Windows wird unter Internetoptionen der proxy für http/https eingestellt. Dann kann man surfen, ohne beim firefox den proxy extra einzustellen. 

Auf der CMD geht ein ping nach draußen.

Ich hätte gerne unter Linux dasselbe: Opera ohne manuelles Proxy-Setzen im Browser, ping aus der Konsole, links oder sowas.

LG Roland

----------

## Robmaster

Du kannst bei jedem Linux auch einen default Proxy setzen. Dann musst du nicht manuel den Proxy in Opera konfigurieren. 

Gruß

----------

## 72_6f_6c_61_6e_64

Davon war doch den ganzen Thread lang die rede  :Rolling Eyes: 

Edit:

Wie würdest du das machen?

Wir haben in der Schule so einen Microsoft ISA oder so Server und ich brauch http, und https nach draußen.

LG Roland

----------

## Robmaster

Ich würde die Proxyvariable in /etc/conf.d/locale.start hinterlegen.

export http_proxy="192.168.1.100:8080"

export ftp_proxy="192.168.1.100:8080"             8080 müsste der default port vom isa server sein.

Wenn eure Admins Ahnung haben, ist der ISA Server so konfiguriert, das nur mitglieder der Domäne berechtigt sind den Proxy zu nutzen.

Du könntest zwar auch mit Linux der Domäne beitreten, breuchtest jedoch das Domänen Administrator Kennwort. Abgesehen davon ist das ganze nicht trivial.

----------

## 72_6f_6c_61_6e_64

Ich hab das in der /etc/profile.d/proxy.sh eingetragen, 

ich habs auch mit http://username:password@proxy:port

versucht aber es ging nicht.

Wir haben in der domäne auch active directory. hat das damit was zutun?

----------

## Robmaster

Du musst mitglied der AD werden, sonst hast du keine chanche auf das netz zuzugreifen.

----------

## 72_6f_6c_61_6e_64

wie werd ich das?

----------

## Beforegod

Was Robmaster meint ist der andere Weg.

Hierzu kannst Du folgendes machen:

- IP im ISA Proxy freischalten (damit gehst Du ohne Auth raus)

oder 

- COmputerkonto im Proxy freischalten (dazu musst Du mittels Samba Mitglied der Domäne werden)

--

Bleib doch bei ntlmaps. Dort war doch Anfangs nur das Problem, das der Dienst nicht richtig startet?

Evt. kannst Du mal in der rc.conf nachschauen ob dort etwas mit RC_STRICT_NET steht? Setz das mal auf lo und probiere es erneut.

Ansonsten starte den Dienst mal per Hand (ntlmaps -c /etc/ntlmaps/config oder so ähnlich) und probier dann ob alles klappt.

----------

## 72_6f_6c_61_6e_64

Aha, 

in der /etc/rc.conf hab ich nix davon drinnen.

in der /etc/config/rc hab ich folgendes:

```
RC_NET_STRICT_CHECKING="no"
```

Ich hab newsbeuter installiert, und der schafft das über den proxy mit proxy-ip, proxy-port, benutzername und passwort.

LG Roland

----------

## Beforegod

Über den ISA Proxy oder über ntlmaps ?

----------

## 72_6f_6c_61_6e_64

über den isa-proxy, wenn du den proxy im schulnetzt meinst.

----------

## Beforegod

Du hast also den ISA Proxy mit Benutzername und PW in der Proxy Variable angegeben, Newsbeuter funktioniert und Opera?

----------

## 72_6f_6c_61_6e_64

Nö, blöd formuliert meinersets.

Ich hab in der newsbeuter config den isa-proxy eingetragen, und nur dort, aber newsbeuter funktioniert.

----------

## 72_6f_6c_61_6e_64

Wir haben da bisschen weiterprobiert.

Ich poste da mal die Ergebnisse.

 *Legende wrote:*   

> roland steht für den user
> 
> geheim steht für das passwort
> 
> 172.17.160.7 steht für den ISA-Proxy
> ...

 

```
export proxy=http://roland:geheim@172.17.160.7:8000
```

 *wget -Y on google.at wrote:*   

> --2011-01-25 15:14:47--  http://google.at/
> 
> Resolving google.at... 209.85.229.99, 209.85.229.104, 209.85.229.147
> 
> Connecting to google.at|209.85.229.99|:80...

 

Anschließend hängt er.

```
export http_proxy=roland:geheim@172.17.160.7:8000
```

 *wget -Y on google.at wrote:*   

> enter url in proxy url ftp://roland/geheim@172.17.160.7:8000: Must be HTTP.

 

Zur Frage ob der Proxy wirklich auf 8000 lauscht.

Ja, auf den Windowskisten in den EDV-Sälen ist der 8000er Port eingestellt

bzw.

 *nmap 172.17.160.7 wrote:*   

> Starting Nmap 5.21 ( http://nmap.org ) at 2011-01-25 15:30 CET
> 
> Nmap scan report for hakmoemps.vbs (172.17.160.7)
> 
> Host is up (0.012s latency).
> ...

 

nach einem

```
export http_proxy=http://rplanitz:geheim@172.17.160.7:8000
```

 *wget -Y on google.at wrote:*   

> Error parsing proxy URL http://roland:geheim@172.17.160.7:8000: Bad port number.

 

 *telnet 172.17.160.7:8000 wrote:*   

> 
> 
> Roland: Trying 172.17.160.7...
> 
> Connected to 172.17.160.7.
> ...

 

Wegen Proxy-Anleitungen:

Ich hab da nix darüber gefunden. Kennt wer How-Tos oder Anleitungen über das Arbeiten als User hinter einem ISA-Web-Proxy auf den man keinen Zugriff hat?

----------

## Beforegod

Nach kurzer Prüfung habe ich gesehen das Newsbeuter auch NTLM Authentifizierung kann.

Von daher ist der außen vor.

Besinnen wir uns mal auf die Grundlagen:

- ISA Proxy im Einsatz mit NTLM Auth.

- Linux kann mit der Proxy Variable kein NTLM

- Einsatz von ntlmaps notwendig (auch schon eingerichtet -> http://www.brighthub.com/hubfolio/matthew-casperson/articles/76539.aspx )

- setzen der lokalen Proxy Variable + Test mit wget und Opera (ping ist KEIN PROXY TEST)

Problematik bisher:

ntlmaps Dienst startet nicht richtig, da er statisch auf einen net.eth0/net.wlan0 Dienst wartet, dieser aber mit den Networkmanager verwaltet wird. 

Workaround -> wenn Netzverbindung steht, ntlmaps per Hand starten und sehen ob es geht.

Deine Aufgaben:

- ntlmaps konfigurieren und per Hand starten (bitte Doku lesen)

-> Test mit Opera/Firefox/Browser Deiner Wahl

--> Rückmeldung ob es geht

### Änderung GramatikLast edited by Beforegod on Wed Feb 02, 2011 1:28 pm; edited 1 time in total

----------

## 72_6f_6c_61_6e_64

Danke für die Tipps

ich probiers morgen in der Schule

LG Roland

----------

