ipmasqadm--- dynamische ip als variable????
ipmasqadm--- dynamische ip als variable????
also das ein binden eines host im localnet für das www klappt jetzt....
sbin/ipmasqadmin portfw -a -p tcp -L 217.80.163.221 80 -R 192.168.1.65 80
=dynam.ip =zielrechner/port
problem ist bei ändern der ip ist die regel nicht mehr gültig!
kann man die dynamische ip auch als variable einsetzen? das einsetzen von ipp0 oder hostname des gatewayrechners (router) funzt nicht...
sbin/ipmasqadmin portfw -a -p tcp -L 217.80.163.221 80 -R 192.168.1.65 80
=dynam.ip =zielrechner/port
problem ist bei ändern der ip ist die regel nicht mehr gültig!
kann man die dynamische ip auch als variable einsetzen? das einsetzen von ipp0 oder hostname des gatewayrechners (router) funzt nicht...
-
- Posts: 348
- Joined: 28. Dec 2000 13:30
- Location: Muenchen
Re: ipmasqadm--- dynamische ip als variable????
in deinem firewall-script zu anfang einfuegen:
DYN_IP=$(ifconfig ippp0 | grep inet | awk {'print $2'} | cut -f2 -d":")
danach ueberall wo du auf die dyn-ip zugreifen willst, einfach $DYN_IP einsetzen. das ganze setzt natuerlich voraus, dass dein script NACH dem verbindungsaufbau und NACH dem verbindungsabbau ausgefuehrt wird. am besten also in ip-up an entsprechender stelle einbauen.
cheers,
dev0
DYN_IP=$(ifconfig ippp0 | grep inet | awk {'print $2'} | cut -f2 -d":")
danach ueberall wo du auf die dyn-ip zugreifen willst, einfach $DYN_IP einsetzen. das ganze setzt natuerlich voraus, dass dein script NACH dem verbindungsaufbau und NACH dem verbindungsabbau ausgefuehrt wird. am besten also in ip-up an entsprechender stelle einbauen.
cheers,
dev0
Linux is a wigwam - no windows, no gates, apache inside <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Re: ipmasqadm--- dynamische ip als variable????
@ dev0
Wenn er es schon in die ip-up einbaut, dann kann er sich auch diese Shellmagie ersparen.
dem ip-up-Script wird doch vom (i)pppd als $4 die lokale IP-Adresse übergeben ... warum nicht gleich damit arbeiten ?
Wenn er es schon in die ip-up einbaut, dann kann er sich auch diese Shellmagie ersparen.
dem ip-up-Script wird doch vom (i)pppd als $4 die lokale IP-Adresse übergeben ... warum nicht gleich damit arbeiten ?
Re: ipmasqadm--- dynamische ip variable????
@ Sebastian Ude:
kenn mich mit dem syntax von solchen scripten nicht so gut aus.
wie lautet der string für eine solche weiterleitung mit dem $4 (was ist das für eine variable)?
kenn mich mit dem syntax von solchen scripten nicht so gut aus.
wie lautet der string für eine solche weiterleitung mit dem $4 (was ist das für eine variable)?
Re: ipmasqadm--- dynamische ip als variable????
$[x] sind die Optionen, die einem Script übergeben werden (ähnlich wie argv[] in C / C++).
Dabei fängt man mit 0 beim Zählen an, und das erste Argument, also $0, ist der Programmname (inklusive Pfad oder auch nicht) selbst.
Nehmen wir an, ein Script würde wie folgt aufgerufen:
myscript -d tuz /abc/file1 /abc/file2
Dann wäre
$0 = myscript
$1 = -d
$2 = tuz
$3 = /abc/file1
$4 = /abc/file2
Da der pppd dem ip-up-Script folgende Parameter in folgender Reihenfolge übergibt
[Interface] [Gerät] [Geschwindigkeit] [lokale IP] [IP der Gegenstelle]
Kannst du im ip-up-Script unter $4 die lokale IP referenzieren, unter $5 die IP der Gegenstelle usw.
Dabei fängt man mit 0 beim Zählen an, und das erste Argument, also $0, ist der Programmname (inklusive Pfad oder auch nicht) selbst.
Nehmen wir an, ein Script würde wie folgt aufgerufen:
myscript -d tuz /abc/file1 /abc/file2
Dann wäre
$0 = myscript
$1 = -d
$2 = tuz
$3 = /abc/file1
$4 = /abc/file2
Da der pppd dem ip-up-Script folgende Parameter in folgender Reihenfolge übergibt
[Interface] [Gerät] [Geschwindigkeit] [lokale IP] [IP der Gegenstelle]
Kannst du im ip-up-Script unter $4 die lokale IP referenzieren, unter $5 die IP der Gegenstelle usw.
@sebastian ude:
@Sebastian Ude:
sieht das dann so aus in /etc/ppp/ip-up.local (oder muß das nur in die datei ip-up(ohne endung):
# trigger outgoing email
/usr/bin/killall -ALRM qmail-send
# Args are:
#interface-name tty-device speed local-IP-address remote-IP-address ipparam
#--------------------------------------------------
# Run these commands whenever a PPP connection is established.
#--------------------------------------------------
NEWIP=$4
EXTERNALIP=$(/sbin/e-smith/config get ExternalIP)
LOCALIP=$(/sbin/e-smith/config get LocalIP)
case $NEWIP in
$EXTERNALIP) ;; # No ip change - short-circuit
$LOCALIP) ;; # PPTP will call us with each connection
*) /sbin/e-smith/signal-event ip-change $4
esac
/sbin/e-smith/signal-event ip-up "$@"
/sbin/DYN_IP=$(ifconfig ppp0 | grep inet | awk {'print $2'} | cut -f2 -d":")
/sbin/ipmasqadm portfw -a -P tcp -L $4 10000 -R 192.168.1.65 10000
#------------------------------------------------------------
# TEMPLATE END
#------------------------------------------------------------
hab die variable $4 eingestzt, den string davor brauch ich eigentlich nicht mehr...
muß ich in ip-down auch was definieren?
sieht das dann so aus in /etc/ppp/ip-up.local (oder muß das nur in die datei ip-up(ohne endung):
# trigger outgoing email
/usr/bin/killall -ALRM qmail-send
# Args are:
#interface-name tty-device speed local-IP-address remote-IP-address ipparam
#--------------------------------------------------
# Run these commands whenever a PPP connection is established.
#--------------------------------------------------
NEWIP=$4
EXTERNALIP=$(/sbin/e-smith/config get ExternalIP)
LOCALIP=$(/sbin/e-smith/config get LocalIP)
case $NEWIP in
$EXTERNALIP) ;; # No ip change - short-circuit
$LOCALIP) ;; # PPTP will call us with each connection
*) /sbin/e-smith/signal-event ip-change $4
esac
/sbin/e-smith/signal-event ip-up "$@"
/sbin/DYN_IP=$(ifconfig ppp0 | grep inet | awk {'print $2'} | cut -f2 -d":")
/sbin/ipmasqadm portfw -a -P tcp -L $4 10000 -R 192.168.1.65 10000
#------------------------------------------------------------
# TEMPLATE END
#------------------------------------------------------------
hab die variable $4 eingestzt, den string davor brauch ich eigentlich nicht mehr...
muß ich in ip-down auch was definieren?
Re: ipmasqadm--- dynamische ip als variable????
>oder muß das nur in die datei ip-up(ohne endung)
Höchstwahrscheinlich ruft deine Distribution die ip-up.local am Ende der ip-up auf.
Dann gehört soetwas (userdefiniertes) in die ip-up.local, wenn man es sauber machen möchte.
>/sbin/DYN_IP=$(ifconfig ppp0 | grep inet | awk {'print $2'} | cut -f2 -d":")
Nein ... gerade *das* brauchen wir doch nicht mehr !
Wozu die Verrenkung, "ifconfig ppp0" aufzurufen, nach "inet" zu greppen, und dann mit awk und cut die IP herauszuholen, wenn wir die lokale IP bequem als $4 vorliegen haben ?
Also die Zeile kannst du schon einmal entfernen.
>/sbin/ipmasqadm portfw -a -P tcp -L $4 10000 -R 192.168.1.65 10000
Sieht gut aus.
Höchstwahrscheinlich ruft deine Distribution die ip-up.local am Ende der ip-up auf.
Dann gehört soetwas (userdefiniertes) in die ip-up.local, wenn man es sauber machen möchte.
>/sbin/DYN_IP=$(ifconfig ppp0 | grep inet | awk {'print $2'} | cut -f2 -d":")
Nein ... gerade *das* brauchen wir doch nicht mehr !
Wozu die Verrenkung, "ifconfig ppp0" aufzurufen, nach "inet" zu greppen, und dann mit awk und cut die IP herauszuholen, wenn wir die lokale IP bequem als $4 vorliegen haben ?
Also die Zeile kannst du schon einmal entfernen.
>/sbin/ipmasqadm portfw -a -P tcp -L $4 10000 -R 192.168.1.65 10000
Sieht gut aus.
Re: ipmasqadm--- dynamische ip als variable????
Achso, da war ja noch was <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">:
>muß ich in ip-down auch was definieren?
Wäre schon besser so.
Die ipmasqadm-Regel sollte nach dem Trennen der Verbindung wieder entfernt werden.
Folgendes in der ip-down[.local] sorgt dafür:
/sbin/ipmasqadm portfw -f
(Wir sind mal faul (-f) ... sonst sind ja keine weiteren Regeln da ...).
>muß ich in ip-down auch was definieren?
Wäre schon besser so.
Die ipmasqadm-Regel sollte nach dem Trennen der Verbindung wieder entfernt werden.
Folgendes in der ip-down[.local] sorgt dafür:
/sbin/ipmasqadm portfw -f
(Wir sind mal faul (-f) ... sonst sind ja keine weiteren Regeln da ...).
Re: ipmasqadm--- dynamische ip als variable????
erstmal vielen dank!!!, werd es jetzt mal testen!
-
- Posts: 348
- Joined: 28. Dec 2000 13:30
- Location: Muenchen
Re: ipmasqadm--- dynamische ip als variable????
mmh, @sebastian,
ich ging davon aus, dass er ein etwas umfangreicheres firewall-script aufrufen will ... aber selbst damit hast mich auf ne idee gebracht kann man doch jetzt dem firewall-scriptt sagen, dass es eine variable $1 entgegen nehmen soll, die es bei aufruf in ip-up uebergeben bekommt *g*
so nach dem motto:
/etc/rc.d/rc.firewall $4
na, wie auch immer, ich rufe mein script beim booten auf, da ich ne feste ip hab, und ne stande hab ... aber vor einiger zeit (mit isdn) haette das einiges einfacher gemacht.
cheers,
dev0
ich ging davon aus, dass er ein etwas umfangreicheres firewall-script aufrufen will ... aber selbst damit hast mich auf ne idee gebracht kann man doch jetzt dem firewall-scriptt sagen, dass es eine variable $1 entgegen nehmen soll, die es bei aufruf in ip-up uebergeben bekommt *g*
so nach dem motto:
/etc/rc.d/rc.firewall $4
na, wie auch immer, ich rufe mein script beim booten auf, da ich ne feste ip hab, und ne stande hab ... aber vor einiger zeit (mit isdn) haette das einiges einfacher gemacht.
cheers,
dev0
Linux is a wigwam - no windows, no gates, apache inside <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Re: ipmasqadm--- dynamische ip als variable????
irgendwie funzt das net:
auch wenn ich es auf dem prompt ausführe passiert das:
sbin/DYN_IP=$(ifconfig ippp0 | grep inet | awk {'print $2'} | cut -f2 -d":")
[root@gateway /sbin]# ipmasqadm -a -P tcp -L $DYN_IP 10000 -R 192.168.1.65 10000
dlopen(): ¼i@v@: cannot open shared object file: No such file or directory
woran kann das liegen?
auch wenn ich es auf dem prompt ausführe passiert das:
sbin/DYN_IP=$(ifconfig ippp0 | grep inet | awk {'print $2'} | cut -f2 -d":")
[root@gateway /sbin]# ipmasqadm -a -P tcp -L $DYN_IP 10000 -R 192.168.1.65 10000
dlopen(): ¼i@v@: cannot open shared object file: No such file or directory
woran kann das liegen?
Re: ipmasqadm--- dynamische ip als variable????
Hm.
ipmasqadm funktionierte aber schon einmal, oder etwa nicht ?
Was passiert, wenn du einfach ein
ipmasqadm
absetzt ?
Falls du dann *nicht* die Meldung "cannot open shared object file:" bekommst, ist da irgendetwas faul.
Sofern du sie auch bekommst (sehr wahrscheinlich, nehme ich an) mach mal ein
which ipmasqadm | xargs ldd | grep "not found"
und schau mal welche Library da fehlt.
ipmasqadm funktionierte aber schon einmal, oder etwa nicht ?
Was passiert, wenn du einfach ein
ipmasqadm
absetzt ?
Falls du dann *nicht* die Meldung "cannot open shared object file:" bekommst, ist da irgendetwas faul.
Sofern du sie auch bekommst (sehr wahrscheinlich, nehme ich an) mach mal ein
which ipmasqadm | xargs ldd | grep "not found"
und schau mal welche Library da fehlt.
Re: ipmasqadm--- dynamische ip als variable????
reagiert gar nicht wird einfach so angenommen obiges kommando
wie gesagt ipmasadm mit eingetzter ip funktioniert nur als variable nicht...
wie gesagt ipmasadm mit eingetzter ip funktioniert nur als variable nicht...
Re: ipmasqadm--- dynamische ip als variable????
Das ist merkwürdig.
Mach bitte folgendes:
DYN_IP=$(ifconfig ippp0 | grep inet | awk {'print $2'} | cut -f2 -d":")
echo $DYNIP
Das, was beim "echo $DYNIP" ausgegeben wird, wird beim ipmasqadm-Aufruf für $DYNIP eingesetzt.
Was ergibt denn das "echo $DYNIP" ?
Mach bitte folgendes:
DYN_IP=$(ifconfig ippp0 | grep inet | awk {'print $2'} | cut -f2 -d":")
echo $DYNIP
Das, was beim "echo $DYNIP" ausgegeben wird, wird beim ipmasqadm-Aufruf für $DYNIP eingesetzt.
Was ergibt denn das "echo $DYNIP" ?
Re: ipmasqadm--- dynamische ip als variable????
Uups ... Tippfehler.
Ich meinte natürlich
'echo $DYN_IP'
statt
'echo $DYNIP'
an allen drei Stellen.
Ich meinte natürlich
'echo $DYN_IP'
statt
'echo $DYNIP'
an allen drei Stellen.