Changeset 10950


Ignore:
Timestamp:
11/19/08 16:41:56 (5 years ago)
Author:
eko
Message:

alowed remote admin ip prep. (gui will follow)

Location:
src/router/services
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/router/services/networking/firewall.c

    r10807 r10950  
    605605static void nat_prerouting( void ) 
    606606{ 
     607        char var[256], *wordlist, *next; 
     608        char from[100], to[100]; 
     609        char *remote_ip_any = nvram_safe_get("remote_ip_any"); 
     610        char *remote_ip = nvram_safe_get("remote_ip"); 
    607611    /* 
    608612     * Enable remote Web GUI management  
    609613     */ 
    610     if( remotemanage ) 
    611         save2file( "-A PREROUTING -p tcp -m tcp -d %s --dport %s " 
    612                    "-j DNAT --to-destination %s:%d\n", wanaddr, 
    613                    nvram_safe_get( "http_wanport" ), 
    614                    nvram_safe_get( "lan_ipaddr" ), web_lanport ); 
     614    if( remotemanage ) { 
     615        if(!strcmp(remote_ip_any, "1")) { 
     616                save2file("-A PREROUTING -p tcp -m tcp -d %s --dport %s " 
     617                        "-j DNAT --to-destination %s:%d\n", 
     618                        wanaddr, nvram_safe_get("http_wanport"), 
     619                        nvram_safe_get("lan_ipaddr"), web_lanport); 
     620        } 
     621        else { 
     622                sscanf(remote_ip, "%s %s", from, to); 
     623 
     624                wordlist = range(from, get_complete_ip(from,to)); 
     625 
     626                foreach(var, wordlist, next) { 
     627                        save2file("-A PREROUTING -p tcp -m tcp -s %s -d %s --dport %s " 
     628                          "-j DNAT --to-destination %s:%d\n", 
     629                          var, wanaddr, nvram_safe_get("http_wanport"), 
     630                          nvram_safe_get("lan_ipaddr"), web_lanport); 
     631                } 
     632        } 
     633    } 
    615634 
    616635#ifdef HAVE_SSHD 
     
    618637     * Enable remote ssh management : Botho 03-05-2006  
    619638     */ 
    620     if( remotessh ) 
     639    if( remotessh ) { 
     640        if(!strcmp(remote_ip_any, "1")) { 
    621641        save2file( "-A PREROUTING -p tcp -m tcp -d %s --dport %s " 
    622642                   "-j DNAT --to-destination %s:%s\n", wanaddr, 
     
    624644                   nvram_safe_get( "lan_ipaddr" ), 
    625645                   nvram_safe_get( "sshd_port" ) ); 
     646        } 
     647        else { 
     648                sscanf(remote_ip, "%s %s", from, to); 
     649 
     650                wordlist = range(from, get_complete_ip(from,to)); 
     651 
     652                foreach(var, wordlist, next) { 
     653                        save2file("-A PREROUTING -p tcp -m tcp -s %s -d %s --dport %s " 
     654                          "-j DNAT --to-destination %s:%d\n", 
     655                          var, wanaddr, nvram_safe_get("sshd_wanport"), 
     656                          nvram_safe_get("lan_ipaddr"), nvram_safe_get( "sshd_port" )); 
     657                } 
     658        } 
     659    } 
    626660#else 
    627661    /* 
    628662     * Enable remote telnet management  
    629663     */ 
    630     if( remotetelnet ) 
     664    if( remotetelnet ) { 
     665        if(!strcmp(remote_ip_any, "1")) {            
    631666        save2file( "-A PREROUTING -p tcp -m tcp -d %s --dport %s " 
    632667                   "-j DNAT --to-destination %s:23\n", wanaddr, 
    633668                   nvram_safe_get( "telnet_wanport" ), 
    634669                   nvram_safe_get( "lan_ipaddr" ) ); 
     670        } 
     671        else { 
     672                sscanf(remote_ip, "%s %s", from, to); 
     673 
     674                wordlist = range(from, get_complete_ip(from,to)); 
     675 
     676                foreach(var, wordlist, next) { 
     677                        save2file("-A PREROUTING -p tcp -m tcp -s %s -d %s --dport %s " 
     678                          "-j DNAT --to-destination %s:23\n", 
     679                          var, wanaddr, nvram_safe_get("sshd_wanport"), 
     680                          nvram_safe_get("lan_ipaddr") ); 
     681                } 
     682        } 
     683    }    
    635684#endif 
    636685 
  • src/router/services/sysinit/defaults.c

    r10904 r10950  
    479479#endif 
    480480 
     481    {"remote_ip_any", "1", 0},  /* allowed remote ip */ 
     482    {"remote_ip", "0.0.0.0 0", 0},              /* allowed remote ip range */ 
    481483    {"http_wanport", "8080", 0},        /* WAN port to listen on */ 
    482484    {"http_lanport", "80", 0},  /* LAN port to listen on */ 
Note: See TracChangeset for help on using the changeset viewer.