Router Software für Trixbox

snoopy_spy

Neuer User
Mitglied seit
19 Mai 2007
Beiträge
108
Punkte für Reaktionen
0
Punkte
0
Hallo

Ich verwende Trixbox 2.2 und möchte gerne eine zusätzliche Router Software installieren.
Da unsere Hauptfirewall nur begrenzte Clients zulässt, möchte ich nun gerne bei allen Telefonen als Gateway auch den Asterisk Server einstellen und diese sollen dann über diesen die Software updates und co machen.

Was verwende ich da am besten als Router Software? (wie gesagt, Firewall gibts extra eine)

Wäre über ein paar Tipps dankbar
 
Die Funktion eines Routers übernimmt der Kernel selbst. Wenn "cat /proc/sys/net/ipv4/ip_forward" 1 zurückgibt, kann man den Rechner als Router benutzen. Ansonsten kann man ihn mit "echo 1 > /proc/sys/net/ipv4/ip_forward" dazu bewegen. Damit das auch nach einem Reboot noch gilt, muss man die Datei /etc/sysctl.conf editieren. Im einfachsten Fall. Dein Szenario hört sich allerdings etwas komplizierter an. Vor allem ändert ein zusätzlicher Router vermutlich (je nach "Firewall") kaum etwas an der Situation.
Das mit der begrenzten Anzahl an Clients klingt, als sei da ein (transparenter) Proxy-Server im Spiel. In diesem Fall müsste deine Trixbox das auch machen. Du müsstest also einen Proxy-Server installieren (bspw. Squid) und mittels iptables dafür sorgen, dass TCP-Verbindungen mit dem Zielport 80 auf localhost (Trixbox) Port 8080 (oder wo auch immer der Proxy läuft) umgeleitet werden.

Einfacher wäre es, die Updates auf der Trixbox zur Verfügung zu stellen und die Telefone entsprechend zu konfigurieren.
 
hey danke, das funkt ja wirklich sehr sehr einfach ...

hab jetzt einfach das port forwarding aktiviert und eine nat regel reingestellt, damit er mir die Source IP umstellt, und alles funkt schon mal so wie ich will (Das mit der Firewall habe ich geschrieben, das ich hier keine speziellen Regeln brauche, um den Rechner zu schützen, da das schon die andere Firewall macht)

in der /etc/sysctl.conf brauche ich nur noch die zeile net.ipv4.ip_forward = 0 durch net.ipv4.ip_forward = 1 ersetzen.
kann ich die SNAT Regel auch noch hier dazu schreiben? wenn ja muß die dann in einem speziellen Format stehen?

Code:
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
 
Nö, das kommt in ein anderes Script, das beim Systemstart ausgeführt wird. Dieses wird normalerweise in /etc/init.d geparkt. In der /etc/inittab wird irgendwo eine Zeile stehen, die "initdefault" enthält, die Zahl davor gibt den Standard-Runlevel an. In /etc wirst du einen Ordner haben, der etwa rc[Standard-Runlevel].d heißt. Die Namen variieren dummerweise von Distribution zu Distribution, keine Ahnung wie's bei Trixbox aussieht. Jedenfalls muss man in diesem Ordner einen Link auf das Script erstellen, z.B. mittels
"ln -s /etc/init.d/nat /etc/rc2.d/nat" (unter Debian). Eigentlich überflüssig, technisch aber korrekt, müsste man mit den Ordnern rc0.d und rc6.d genauso verfahren.

Das Script braucht dann tatsächlich eine bestimmte Struktur, etwa so:
Code:
#!/bin/bash
stop () {
[...]
}

start () {
/sbin/iptables -t nat -A POSTROUTING -o $WANINT -j MASQUERADE
[Oder wie auch immer du das machst]

}

case "$1" in
        start)
                start
        ;;
        stop)
                stop
        ;;
esac
 
danke funkt gut

  • die "komischen" Vorsätze (K01, S99) in den rc3.d und co - sind die nur da damit die scripte in der richtigen reihenfolge abgearbeitet werden
    wo sollte so ein NAT script hin?
    hab da S08iptables -> ../init.d/iptables, S10network -> ../init.d/network
  • kann ich da in das script was einbauen, das ich prüfen kann, ob es schon mal gestartet worden ist? also, das ich die regel dann nicht ein zweites mal starten kann? (File erzeugen und prüfen? - aber wie kann ich so dann sicherstellen, wenn der rechner mal nicht erichtig niederfährt, das er beim nächsten mal wieder das script startet?)
 
Zu 1: Japp, das dient nur der Reihenfolge. Diese Präfixe hatte ich ganz vergessen. Paketfilter werden sinnigerweise vor Netzwerkadaptern initialisiert, insofern kann man das so stehen lassen.

Zu 2: Dazu wüsste ich auf Anhieb keine Musterlösung. Status-Funktionen suchen meist nach einer PID, entweder in der Ausgabe von ps oder unter /var/run. Dürfte hier wohl beides entfallen. Du könntest unter "start" eine Datei /tmp/nat erstellen und sie unter "stop" wieder entfernen. Geprüft wird dann mittels
Code:
if [ -e /tmp/nat ]; then
...
fi
oder so ähnlich... Das als Ansatz, vielleicht gibt's einen besseren Weg.
 
hmmm... also irgendwie startet er doch das script (nat) nicht beim hochfahren ... muß ich da sonst noch was beachten?

Code:
[root@asterisk rc2.d]# ls *nat* -l
lrwxrwxrwx  1 root root 13 Jul  2 10:32 s00nat -> ../init.d/nat

wenn ich es manuell ausführe, dann passt alles.
Kann ich irgendwie kontrollieren, ob er das script ausführt, und eventuell später im bootvorgang dann die tabelle wieder leert, oder ob er das script gar nicht ausführt?

Dachte da an echo und dann das log file angucken (hab da leider keinen monitor drann hängen - in welches log file wird das dann geschrieben?)
 
Sorry für die späte Antwort. Das Logfile kann man sich aussuchen, etwa mit "date >> /var/log/ausgeführt.log". Ansonsten würde ich mal im Ordner /etc/network suchen, ob da irgendwo ein Iptables-Script rumliegt.
 
hi, hab den fehler nun gefunden (nach dem ich mit dem log gesehen habe, das das script nicht ausgeführt wird ....)
das problem war, das er mein s00nat nicht starten wollte hingegen mein S00nat schon ... jetzt funkt es auch nach einem neustart

... danke!
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.