Anzeige:
Ergebnis 1 bis 4 von 4

Thema: iptabels und dyndns

  1. #1
    wuerstchen :-] Avatar von fl4kus
    Registriert seit
    Dec 2002
    Beiträge
    376

    iptabels und dyndns

    hi,
    also ich wollte 2 rechnern zugriff auf meinen pop3 server erlauben. also habe ich in meinen firewall regeln das eingestellt:
    Code:
    iptables -A INPUT -s host1.ath.cx -d meine.server.ip -p tcp --dport 110 -j ACCEPT
    iptables -A INPUT -s host2.ath.cx -d meine.server.ip -p tcp --dport 110 -j ACCEPT
    Das klappt auch schoen und gut, aber nur solang keiner von beiden nen 24 reconnect hat. wird die ip geupdatet, bekommt das die firewall regel leider nicht mit.
    hat jemand vielleicht eine idee, wie man das lösen könnte ?
    danke

    mfg
    fl4kus

  2. #2
    Wine/LFS-Freak
    Registriert seit
    Sep 2005
    Beiträge
    1.015
    Folgender Denkanstoss:

    1. Ermittle die beiden entsprechenden IP's der Rechner
    2. Starte / Aktualisiere dein Script mit den beiden IP's
    3. warte eine längere Zeit
    4. GOTO 1

  3. #3
    wuerstchen :-] Avatar von fl4kus
    Registriert seit
    Dec 2002
    Beiträge
    376
    jau also hab nen kleines script dafuer geschrieben
    PHP-Code:
    #!/usr/bin/perl

    my @ports = (110,25);
    my @newRules =
                   (
                      
    'iptables -I INPUT -s host1.ath.cx -d die.ip.vom.server -p tcp --dport 110 -j ACCEPT',
                      
    'iptables -I INPUT -s host2.ath.cx -d die.ip.vom.server -p tcp --dport 110 -j ACCEPT',
                      
    'iptables -I INPUT -s host1.ath.cx -d die.ip.vom.server -p tcp --dport 25 -j ACCEPT',
                      
    'iptables -I INPUT -s host2.ath.cx -d die.ip.vom.server -p tcp --dport 25 -j ACCEPT'
                   
    );


    my $ipTabelle = `iptables -nvL INPUT`;

    my @ipTable split("\n"$ipTabelle);

    foreach 
    $rule(@ipTable) {
       foreach 
    $port(@ports) {
          if (
    $rule =~ /dpts?:\s?$port/) {
             
    # 0 0 ACCEPT tcp -- * * 80.80.80.80 82.82.82.82.82 tcp dpt:25
             
    ($a,$a,$method,$protokoll,$a,$a,$a,$ip,$host, @args) = split(" "$rule);
             if (
    $ip eq '0.0.0.0/0') { $strTarget '' }
             else {
    $strTarget '-s ' $ip }
             if (
    $host eq '0.0.0.0/0') { $strHost '-i eth0' }
             else {  
    $strHost '-d ' $host }
             if (
    $which in_array('state', @args)) {
                
    $strState '-m state --state ' $args[$which];
             }
             print 
    "iptables -D INPUT $strTarget $strHost $strState -p $protokoll --dport $port -j $method\n";
             
    system("iptables -D INPUT $strTarget $strHost $strState -p $protokoll --dport $port -j $method");

          }
      }

    }

    foreach 
    $rule(@newRules) {
       print 
    $rule "\n";
       
    system($rule);
    }

    sub in_array() {
       
    my $val shift(@_);
       
    $i 1;
       foreach 
    $elem(@_) {
          if(
    $val eq $elem) {
             return 
    $i;
          }
          
    $i++;
       }
       return ;

    lass ich als 10 minuetigen cron laufen

  4. #4
    Wine/LFS-Freak
    Registriert seit
    Sep 2005
    Beiträge
    1.015
    Ich kenn mich in Perl nicht aus, aber wenns geht, dann Glückwunsch !

Ähnliche Themen

  1. Suse 9.0 Pro Server (Gateway) mit DynDNS und Windows Client...
    Von rambos.letzter. im Forum Linux als Server
    Antworten: 16
    Letzter Beitrag: 21.09.04, 19:15
  2. dyndns und Co.
    Von dipesh im Forum Tipps und Tricks
    Antworten: 1
    Letzter Beitrag: 25.03.04, 20:35
  3. prob mit dyndns
    Von nIght im Forum Linux Allgemein
    Antworten: 2
    Letzter Beitrag: 12.01.04, 18:39
  4. dynDNS Problem
    Von kane32 im Forum Linux als Server
    Antworten: 3
    Letzter Beitrag: 14.07.03, 19:29
  5. dyndns : vom wan , aber nich vom lan zugreifbar
    Von daddel9 im Forum Router und Netzaufbau
    Antworten: 13
    Letzter Beitrag: 27.02.03, 11:25

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •