Changeset 26805


Ignore:
Timestamp:
2011-05-02T14:54:31+02:00 (7 years ago)
Author:
jow
Message:

[PATCH] firewall: provide examples of ssh port relocation on firewall and IPsec passthrough
Two examples of potentially useful configurations (commented out, of course):

(a) map the ssh service running on the firewall to 22001 externally, without modifying the configuration of the daemon itself. this allows port 22 on the WAN side to then be port-forwarded to a
LAN-based machine if desired, or if not, simply obscures the port from external attack.

(b) allow IPsec/ESP and ISAKMP (UDP-based key exchange) to happen by default. useful for most modern VPN clients you might have on your WAN.

Signed-off-by: Philip Prindeville <philipp@…>

Location:
trunk/package/firewall/files
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/firewall/files/firewall.config

    r21509 r26805  
    7676#       option proto            tcp 
    7777 
     78# port redirect of remapped ssh port (22001) on wan 
     79#config redirect 
     80#       option src              wan 
     81#       option src_dport        22001 
     82#       option dest             lan 
     83#       option dest_port        22 
     84#       option proto            tcp 
     85 
     86# allow IPsec/ESP and ISAKMP passthrough 
     87#config rule 
     88#       option src              wan 
     89#       option dest             lan 
     90#       option protocol         esp 
     91#       option target           ACCEPT 
     92 
     93#config rule 
     94#       option src              wan 
     95#       option dest             lan 
     96#       option src_port         500 
     97#       option dest_port        500 
     98#       option proto            udp 
     99#       option target           ACCEPT 
    78100 
    79101### FULL CONFIG SECTIONS 
  • trunk/package/firewall/files/lib/core_interface.sh

    r26740 r26805  
    1 # Copyright (C) 2009-2010 OpenWrt.org 
     1# Copyright (C) 2009-2011 OpenWrt.org 
    22 
    33fw__uci_state_add() { 
     
    55        local item="$2" 
    66 
    7         local val=" $(uci_get_state firewall core $var) " 
    8         val="${val// $item / }" 
    9         val="${val# }" 
    10         val="${val% }" 
     7        local list="$(uci_get_state firewall core $var)" 
     8              list=" ${list:+$list }" 
     9 
     10        for item in $item; do 
     11                case "$list" in 
     12                        "* $item *") continue;; 
     13                        *) list="$list$item ";; 
     14                esac 
     15        done 
     16 
     17        list="${list% }" 
     18        list="${list# }" 
     19 
    1120        uci_revert_state firewall core $var 
    12         uci_set_state firewall core $var "${val:+$val }$item" 
     21        uci_set_state firewall core $var "$list" 
    1322} 
    1423 
     
    1726        local item="$2" 
    1827 
    19         local val=" $(uci_get_state firewall core $var) " 
    20         val="${val// $item / }" 
    21         val="${val# }" 
    22         val="${val% }" 
     28        echo "del[$item]" 
     29 
     30        local list val 
     31        for val in $(uci_get_state firewall core "$var" | sort -u); do 
     32                list="${list:+$list }$val" 
     33        done 
     34 
     35        echo "list[$list]" 
     36 
    2337        uci_revert_state firewall core $var 
    24         uci_set_state firewall core $var "$val" 
     38 
     39        [ -n "$list" ] && { 
     40                list=" $list " 
     41 
     42                for item in $item; do 
     43                        list="${list// $item / }" 
     44                done 
     45 
     46                list="${list# }" 
     47                list="${list% }" 
     48 
     49                echo "list2[$list]" 
     50 
     51                uci_set_state firewall core $var "$list" 
     52        } 
    2553} 
    2654 
Note: See TracChangeset for help on using the changeset viewer.