linuxth以及其它玩防火墙的高手请进,我实在对shorewall没办法了,崩溃中OTZ
时间:2007-08-09
来源:互联网
本来shorewall在网上的资料挺全的,我shorewall的资料看了n遍,确信不会出配置错误,而且我还用webmin来检查我配置的条目,都通过了,本以为绝对不会出问题的东西出了问题,而且还是匪夷所思的古怪问题——我卡住的问题不是客户端不能正常从NAT上网,也不是端口映射有问题,而是——启动防火墙以后它居然把自己给锁家里了……
我的症状非常奇怪,首先我是一台a64的主机,配一块sis900集成网卡,我又找了一块8139插上,从 /etc/udev/rules.d/70-persistent-net.rules里能看到sis的网卡编号是eth0,8139为eth1。首先可以肯定的是,绝无内核配置问题,我把该弄的芯片驱动全部塞进去,该搞iptables相关的东西也全塞进去了,总之这机器在没开防火墙时,以双网卡都启动,其中任何一块在设置好网关后接内网上都可以正常上网(此时内网通过一个604+宽带路由器拨号adsl出去),然后,问题是这样,首先我用的拨号软件是zhllg老大推荐的ppp,是官方手册上推荐的方法:详细的设置方法我就不多叙述了,总之,在没开防火墙前,我用这东西拨号,很轻松的就上去了,能ping到dns,能用route命令看到自己被分配的gatway,然后,启动shorewall,问题大条了……shorewall很干脆的把自己给锁住了——ping外网,完全不通,ping内网,一切正常,内网也能ping到它……此时用ifconfig,可以看到自己的pppoe拨号连接是好的,没有任何问题,route也能正常看到被分配的外网网关,但就是ping外网不通,也不能上网,shorewall停下后运行一个shorewall clear命令清除所有防火墙规则(shorewall默认会启动一种叫routestop的功能,这功能是我在webmin里发现的,还没有找到禁止的方法,他的作用就是你一旦运行了shorewall,当你用shorewall stop停下时,他会默认的把iptables的策略换成堵塞所有外部进来的访问,非要clear,才能正常,不clear的话,你往外ping正常,别人ping不到你),ok了,又能ping到外网dns服务器了……
我现在是怎么也想不明白到底哪里做错了,因为我完全是理解了shorewall的配置策略后才动手的,又有webmin帮我检查是否有错,我把自己配置的相关设置帖在下面
我的sis900 eth0接内网,8139 eth1接外网
zones文件配置
# # Shorewall version 3.2 - Zones File # # /etc/shorewall/zones # # This file declares your network zones. You specify the hosts in # each zone through entries in /etc/shorewall/interfaces or # /etc/shorewall/hosts. # # WARNING: The format of this file changed in Shorewall 3.0.0. You can # continue to use your old records provided that you set # IPSECFILE=ipsec in /etc/shorewall/shorewall.conf. This will # signal Shorewall that the IPSEC-related zone options are # still specified in /etc/shorewall/ipsec rather than in this # file. # # To use records in the format described below, you must have # IPSECFILE=zones specified in /etc/shorewall/shorewall.conf # AND YOU MUST NOT SET THE 'FW' VARIABLE IN THAT FILE!!!!! # # Columns are: # # ZONE Short name of the zone (5 Characters or less in length). # The names "all" and "none" are reserved and may not be # used as zone names. # # Where a zone is nested in one or more other zones, # you may follow the (sub)zone name by ":" and a # comma-separated list of the parent zones. The parent # zones must have been defined in earlier records in this # file. # # Example: # # #ZONE TYPE OPTIONS # a ipv4 # b ipv4 # c:a,b ipv4 # # Currently, Shorewall uses this information to reorder the # zone list so that parent zones appear after their subzones in # the list. The IMPLICIT_CONTINUE option in shorewall.conf can # also create implicit CONTINUE policies to/from the subzone. # # In the future, Shorewall may make additional use # of nesting information. # # TYPE ipv4 - This is the standard Shorewall zone type and is the # default if you leave this column empty or if you enter # "-" in the column. Communication with some zone hosts # may be encrypted. Encrypted hosts are designated using # the 'ipsec'option in /etc/shorewall/hosts. # ipsec - Communication with all zone hosts is encrypted # Your kernel and iptables must include policy # match support. # firewall # - Designates the firewall itself. You must have # exactly one 'firewall' zone. No options are # permitted with a 'firewall' zone. The name that you # enter in the ZONE column will be stored in the shell # variable $FW which you may use in other configuration # files to designate the firewall zone. # # OPTIONS, A comma-separated list of options as follows: # IN OPTIONS, # OUT OPTIONS reqid=<number> where <number> is specified # using setkey(8) using the 'unique:<number> # option for the SPD level. # # spi=<number> where <number> is the SPI of # the SA used to encrypt/decrypt packets. # # proto=ah|esp|ipcomp # # mss=<number> (sets the MSS field in TCP packets) # # mode=transport|tunnel # # tunnel-src=<address>[/<mask>] (only # available with mode=tunnel) # # tunnel-dst=<address>[/<mask>] (only # available with mode=tunnel) # # strict Means that packets must match all rules. # # next Separates rules; can only be used with # strict # # Example: # mode=transport,reqid=44 # # The options in the OPTIONS column are applied to both incoming # and outgoing traffic. The IN OPTIONS are applied to incoming # traffic (in addition to OPTIONS) and the OUT OPTIONS are # applied to outgoing traffic. # # If you wish to leave a column empty but need to make an entry # in a following column, use "-". #------------------------------------------------------------------------------ # Example zones: # # You have a three interface firewall with internet, local and DMZ # interfaces. # # #ZONE TYPE OPTIONS IN OUT # # OPTIONS OPTIONS # fw firewall # net ipv4 # loc ipv4 # dmz ipv4 # # # For more information, see http://www.shorewall.net/Documentation.htm#Zones # ############################################################################### #ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall net ipv4 lan ipv4 #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
# # Shorewall version 3.2 - Interfaces File # # /etc/shorewall/interfaces # # You must add an entry in this file for each network interface on your # firewall system. # # Columns are: # # ZONE Zone for this interface. Must match the name of a # zone defined in /etc/shorewall/zones. You may not # list the firewall zone in this column. # # If the interface serves multiple zones that will be # defined in the /etc/shorewall/hosts file, you should # place "-" in this column. # # If there are multiple interfaces to the same zone, # you must list them in separate entries: # # Example: # # loc eth1 - # loc eth2 - # # INTERFACE Name of interface. Each interface may be listed only # once in this file. You may NOT specify the name of # an alias (e.g., eth0:0) here; see # http://www.shorewall.net/FAQ.htm#faq18 # # You may specify wildcards here. For example, if you # want to make an entry that applies to all PPP # interfaces, use 'ppp+'. # # There is no need to define the loopback interface (lo) # in this file. # # BROADCAST The broadcast address for the subnetwork to which the # interface belongs. For P-T-P interfaces, this # column is left blank.If the interface has multiple # addresses on multiple subnets then list the broadcast # addresses as a comma-separated list. # # If you use the special value "detect", Shorewall # will detect the broadcast address(es) for you. If you # select this option, the interface must be up before # the firewall is started. # # If you don't want to give a value for this column but # you want to enter a value in the OPTIONS column, enter # "-" in this column. # # OPTIONS A comma-separated list of options including the # following: # # dhcp - Specify this option when any of # the following are true: # 1. the interface gets its IP address # via DHCP # 2. the interface is used by # a DHCP server running on the firewall # 3. you have a static IP but are on a LAN # segment with lots of Laptop DHCP # clients. # 4. the interface is a bridge with # a DHCP server on one port and DHCP # clients on another port. # # norfc1918 - This interface should not receive # any packets whose source is in one # of the ranges reserved by RFC 1918 # (i.e., private or "non-routable" # addresses). If packet mangling or # connection-tracking match is enabled in # your kernel, packets whose destination # addresses are reserved by RFC 1918 are # also rejected. # # routefilter - turn on kernel route filtering for this # interface (anti-spoofing measure). This # option can also be enabled globally in # the /etc/shorewall/shorewall.conf file. # # logmartians - turn on kernel martian logging (logging # of packets with impossible source # addresses. It is suggested that if you # set routefilter on an interface that # you also set logmartians. This option # may also be enabled globally in the # /etc/shorewall/shorewall.conf file. # # blacklist - Check packets arriving on this interface # against the /etc/shorewall/blacklist # file. # # maclist - Connection requests from this interface # are compared against the contents of # /etc/shorewall/maclist. If this option # is specified, the interface must be # an ethernet NIC and must be up before # Shorewall is started. # # tcpflags - Packets arriving on this interface are # checked for certain illegal combinations # of TCP flags. Packets found to have # such a combination of flags are handled # according to the setting of # TCP_FLAGS_DISPOSITION after having been # logged according to the setting of # TCP_FLAGS_LOG_LEVEL. # # proxyarp - # Sets # /proc/sys/net/ipv4/conf/<interface>/proxy_arp. # Do NOT use this option if you are # employing Proxy ARP through entries in # /etc/shorewall/proxyarp. This option is # intended soley for use with Proxy ARP # sub-networking as described at: # http://www.tldp.org/HOWTO/mini/Proxy-ARP-Subnet # # routeback - If specified, indicates that Shorewall # should include rules that allow # filtering traffic arriving on this # interface back out that same interface. # # arp_filter - If specified, this interface will only # respond to ARP who-has requests for IP # addresses configured on the interface. # If not specified, the interface can # respond to ARP who-has requests for # IP addresses on any of the firewall's # interface. The interface must be up # when Shorewall is started. # # arp_ignore[=<number>] # - If specified, this interface will # respond to arp requests based on the # value of <number>. # # 1 - reply only if the target IP address # is local address configured on the # incoming interface # # 2 - reply only if the target IP address # is local address configured on the # incoming interface and both with the # sender's IP address are part from same # subnet on this interface # # 3 - do not reply for local addresses # configured with scope host, only # resolutions for global and link # addresses are replied # # 4-7 - reserved # # 8 - do not reply for all local # addresses # # If no <number> is given then the value # 1 is assumed # # WARNING -- DO NOT SPECIFY arp_ignore # FOR ANY INTERFACE INVOLVED IN PROXY ARP. # # nosmurfs - Filter packets for smurfs # (packets with a broadcast # address as the source). # # Smurfs will be optionally logged based # on the setting of SMURF_LOG_LEVEL in # shorewall.conf. After logging, the # packets are dropped. # # detectnets - Automatically taylors the zone named # in the ZONE column to include only those # hosts routed through the interface. # # sourceroute - If this option is not specified for an # interface, then source-routed packets # will not be accepted from that # interface (sets /proc/sys/net/ipv4/ # conf/<interface>/ # accept_source_route to 1). # Only set this option if you know what # you are you doing. This might represent # a security risk and is not usually # needed. # # upnp - Incoming requests from this interface # may be remapped via UPNP (upnpd). # # WARNING: DO NOT SET THE detectnets OPTION ON YOUR # INTERNET INTERFACE. # # The order in which you list the options is not # significant but the list should have no embedded white # space. # # Example 1: Suppose you have eth0 connected to a DSL modem and # eth1 connected to your local network and that your # local subnet is 192.168.1.0/24. The interface gets # it's IP address via DHCP from subnet # 206.191.149.192/27. You have a DMZ with subnet # 192.168.2.0/24 using eth2. # # Your entries for this setup would look like: # # net eth0 206.191.149.223 dhcp # local eth1 192.168.1.255 # dmz eth2 192.168.2.255 # # Example 2: The same configuration without specifying broadcast # addresses is: # # net eth0 detect dhcp # loc eth1 detect # dmz eth2 detect # # Example 3: You have a simple dial-in system with no ethernet # connections. # # net ppp0 - # # For additional information, see # http://shorewall.net/Documentation.htm#Interfaces # ############################################################################### #ZONE INTERFACE BROADCAST OPTIONS net eth1 lan eth0 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
# # Shorewall version 3.2 - Policy File # # /etc/shorewall/policy # # THE ORDER OF ENTRIES IN THIS FILE IS IMPORTANT # # This file determines what to do with a new connection request if we # don't get a match from the /etc/shorewall/rules file . For each # source/destination pair, the file is processed in order until a # match is found ("all" will match any client or server). # # INTRA-ZONE POLICIES ARE PRE-DEFINED # # For $FW and for all of the zoned defined in /etc/shorewall/zones, # the POLICY for connections from the zone to itself is ACCEPT (with no # logging or TCP connection rate limiting but may be overridden by an # entry in this file. The overriding entry must be explicit (cannot use # "all" in the SOURCE or DEST). # # Similarly, if you have IMPLICIT_CONTINUE=Yes in shorewall.conf, then # the implicit policy to/from any sub-zone is CONTINUE. These implicit # CONTINUE policies may also be overridden by an explicit entry in this # file. # # Columns are: # # SOURCE Source zone. Must be the name of a zone defined # in /etc/shorewall/zones, $FW or "all". # # DEST Destination zone. Must be the name of a zone defined # in /etc/shorewall/zones, $FW or "all" # # POLICY Policy if no match from the rules file is found. Must # be "ACCEPT", "DROP", "REJECT", "CONTINUE" or "NONE". # # ACCEPT - Accept the connection # DROP - Ignore the connection request # REJECT - For TCP, send RST. For all other, # send "port unreachable" ICMP. # QUEUE - Send the request to a user-space # application using the QUEUE target. # CONTINUE - Pass the connection request past # any other rules that it might also # match (where the source or # destination zone in those rules is # a superset of the SOURCE or DEST # in this policy). # NONE - Assume that there will never be any # packets from this SOURCE # to this DEST. Shorewall will not set # up any infrastructure to handle such # packets and you may not have any # rules with this SOURCE and DEST in # the /etc/shorewall/rules file. If # such a packet _is_ received, the # result is undefined. NONE may not be # used if the SOURCE or DEST columns # contain the firewall zone ($FW) or # "all". # # If this column contains ACCEPT, DROP or REJECT and a # corresponding common action is defined in # /etc/shorewall/actions (or # /usr/share/shorewall/actions.std) then that action # will be invoked before the policy named in this column # is enforced. # # LOG LEVEL If supplied, each connection handled under the default # POLICY is logged at that level. If not supplied, no # log message is generated. See syslog.conf(5) for a # description of log levels. # # Beginning with Shorewall version 1.3.12, you may # also specify ULOG (must be in upper case). This will # log to the ULOG target and sent to a separate log # through use of ulogd # (http://www.gnumonks.org/projects/ulogd). # # If you don't want to log but need to specify the # following column, place "-" here. # # LIMIT:BURST If passed, specifies the maximum TCP connection rate # and the size of an acceptable burst. If not specified, # TCP connections are not limited. # # Example: # # a) All connections from the local network to the internet are allowed # b) All connections from the internet are ignored but logged at syslog # level KERNEL.INFO. # d) All other connection requests are rejected and logged at level # KERNEL.INFO. # # #SOURCE DEST POLICY LOG # # LEVEL # loc net ACCEPT # net all DROP info # # # # THE FOLLOWING POLICY MUST BE LAST # # # all all REJECT info # # See http://shorewall.net/Documentation.htm#Policy for additional information. # ############################################################################### #SOURCE DEST POLICY LOG LIMIT:BURST # LEVEL fw all ACCEPT lan all ACCEPT net all DROP all all REJECT #LAST LINE -- DO NOT REMOVE
# # Shorewall version 3.2 - Rules File # # /etc/shorewall/rules # # Rules in this file govern connection establishment. Requests and # responses are automatically allowed using connection tracking. For any # particular (source,dest) pair of zones, the rules are evaluated in the # order in which they appear in this file and the first match is the one # that determines the disposition of the request. # # In most places where an IP address or subnet is allowed, you # can preceed the address/subnet with "!" (e.g., !192.168.1.0/24) to # indicate that the rule matches all addresses except the address/subnet # given. Notice that no white space is permitted between "!" and the # address/subnet. #------------------------------------------------------------------------------ # WARNING: If you masquerade or use SNAT from a local system to the internet, # you cannot use an ACCEPT rule to allow traffic from the internet to # that system. You *must* use a DNAT rule instead. #------------------------------------------------------------------------------ # # The rules file is divided into sections. Each section is introduced by # a "Section Header" which is a line beginning with SECTION followed by the # section name. # # Sections are as follows and must appear in the order listed: # # ESTABLISHED Packets in the ESTABLISHED state are processed # by rules in this section. # # The only ACTIONs allowed in this section are # ACCEPT, DROP, REJECT, LOG and QUEUE # # There is an implicit ACCEPT rule inserted # at the end of this section. # # RELATED Packets in the RELATED state are processed by # rules in this section. # # The only ACTIONs allowed in this section are # ACCEPT, DROP, REJECT, LOG and QUEUE # # There is an implicit ACCEPT rule inserted # at the end of this section. # # NEW Packets in the NEW and INVALID states are # processed by rules in this section. # # Note: If you are not familiar with Netfilter to the point where you are # comfortable with the differences between the various connection # tracking states, then I suggest that you omit the ESTABLISHED and # RELATED sections and place all of your rules in the NEW section # (That's after the line that reads SECTION NEW'). # # WARNING: If you specify FASTACCEPT=Yes in shorewall.conf then the # ESTABLISHED and RELATED sections must be empty. # # You may omit any section that you don't need. If no Section Headers appear # in the file then all rules are assumed to be in the NEW section. # # Columns are: # # ACTION ACCEPT, DROP, REJECT, DNAT, DNAT-, REDIRECT, CONTINUE, # LOG, QUEUE or an <action>. # # ACCEPT -- allow the connection request # ACCEPT+ -- like ACCEPT but also excludes the # connection from any subsequent # DNAT[-] or REDIRECT[-] rules # NONAT -- Excludes the connection from any # subsequent DNAT[-] or REDIRECT[-] # rules but doesn't generate a rule # to accept the traffic. # DROP -- ignore the request # REJECT -- disallow the request and return an # icmp-unreachable or an RST packet. # DNAT -- Forward the request to another # system (and optionally another # port). # DNAT- -- Advanced users only. # Like DNAT but only generates the # DNAT iptables rule and not # the companion ACCEPT rule. # SAME -- Similar to DNAT except that the # port may not be remapped and when # multiple server addresses are # listed, all requests from a given # remote system go to the same # server. # SAME- -- Advanced users only. # Like SAME but only generates the # NAT iptables rule and not # the companion ACCEPT rule. # REDIRECT -- Redirect the request to a local # port on the firewall. # REDIRECT- # -- Advanced users only. # Like REDIRET but only generates the # REDIRECT iptables rule and not # the companion ACCEPT rule. # # CONTINUE -- (For experts only). Do not process # any of the following rules for this # (source zone,destination zone). If # The source and/or destination IP # address falls into a zone defined # later in /etc/shorewall/zones, this # connection request will be passed # to the rules defined for that # (those) zone(s). # LOG -- Simply log the packet and continue. # QUEUE -- Queue the packet to a user-space # application such as ftwall # (http://p2pwall.sf.net). # <action> -- The name of an action defined in # /etc/shorewall/actions or in # /usr/share/shorewall/actions.std. # <macro> -- The name of a macro defined in a # file named macro.<macro-name>. If # the macro accepts an action # parameter (Look at the macro # source to see if it has PARAM in # the TARGET column) then the macro # name is followed by "/" and the # action (ACCEPT, DROP, REJECT, ...) # to be substituted for the # parameter. Example: FTP/ACCEPT. # # The ACTION may optionally be followed # by ":" and a syslog log level (e.g, REJECT:info or # DNAT:debug). This causes the packet to be # logged at the specified level. # # If the ACTION names an action defined in # /etc/shorewall/actions or in # /usr/share/shorewall/actions.std then: # # - If the log level is followed by "!' then all rules # in the action are logged at the log level. # # - If the log level is not followed by "!" then only # those rules in the action that do not specify # logging are logged at the specified level. # # - The special log level 'none!' suppresses logging # by the action. # # You may also specify ULOG (must be in upper case) as a # log level.This will log to the ULOG target for routing # to a separate log through use of ulogd # (http://www.gnumonks.org/projects/ulogd). # # Actions specifying logging may be followed by a # log tag (a string of alphanumeric characters) # are appended to the string generated by the # LOGPREFIX (in /etc/shorewall/shorewall.conf). # # Example: ACCEPT:info:ftp would include 'ftp ' # at the end of the log prefix generated by the # LOGPREFIX setting. # # SOURCE Source hosts to which the rule applies. May be a zone # defined in /etc/shorewall/zones, $FW to indicate the # firewall itself, "all", "all+", "all-", "all+-" or # "none". # # When "none" is used either in the SOURCE or DEST # column, the rule is ignored. # # "all" means "All Zones", including the firewall itself. # "all-" means "All Zones, except the firewall itself". # When "all[-]" is used either in the SOURCE or DEST # column intra-zone traffic is not affected. When # "all+[-]" is "used, intra-zone traffic is affected. # # Except when "all[+][-]" is specified, clients may be # further restricted to a list of subnets and/or hosts by # appending ":" and a comma-separated list of subnets # and/or hosts. Hosts may be specified by IP or MAC # address; mac addresses must begin with "~" and must use # "-" as a separator. # # Hosts may be specified as an IP address range using the # syntax <low address>-<high address>. This requires that # your kernel and iptables contain iprange match support. # If you kernel and iptables have ipset match support # then you may give the name of an ipset prefaced by "+". # The ipset name may be optionally followed by a number # from 1 to 6 enclosed in square brackets ([]) to # indicate the number of levels of source bindings to be # matched. # # dmz:192.168.2.2 Host 192.168.2.2 in the DMZ # # net:155.186.235.0/24 Subnet 155.186.235.0/24 on the # Internet # # loc:192.168.1.1,192.168.1.2 # Hosts 192.168.1.1 and # 192.168.1.2 in the local zone. # loc:~00-A0-C9-15-39-78 Host in the local zone with # MAC address 00:A0:C9:15:39:78. # # net:192.0.2.11-192.0.2.17 # Hosts 192.0.2.11-192.0.2.17 in # the net zone. # # Alternatively, clients may be specified by interface # by appending ":" to the zone name followed by the # interface name. For example, loc:eth1 specifies a # client that communicates with the firewall system # through eth1. This may be optionally followed by # another colon (":") and an IP/MAC/subnet address # as described above (e.g., loc:eth1:192.168.1.5). # # DEST Location of Server. May be a zone defined in # /etc/shorewall/zones, $FW to indicate the firewall # itself, "all". "all+" or "none". # # When "none" is used either in the SOURCE or DEST # column, the rule is ignored. # # When "all" is used either in the SOURCE or DEST column # intra-zone traffic is not affected. When "all+" is # used, intra-zone traffic is affected. # # Except when "all[+]" is specified, the server may be # further restricted to a particular subnet, host or # interface by appending ":" and the subnet, host or # interface. See above. # # Restrictions: # # 1. MAC addresses are not allowed. # 2. In DNAT rules, only IP addresses are # allowed; no FQDNs or subnet addresses # are permitted. # 3. You may not specify both an interface and # an address. # # Like in the SOURCE column, you may specify a range of # up to 256 IP addresses using the syntax # <first ip>-<last ip>. When the ACTION is DNAT or DNAT-, # the connections will be assigned to addresses in the # range in a round-robin fashion. # # If you kernel and iptables have ipset match support # then you may give the name of an ipset prefaced by "+". # The ipset name may be optionally followed by a number # from 1 to 6 enclosed in square brackets ([]) to # indicate the number of levels of destination bindings # to be matched. Only one of the SOURCE and DEST columns # may specify an ipset name. # # The port that the server is listening on may be # included and separated from the server's IP address by # ":". If omitted, the firewall will not modifiy the # destination port. A destination port may only be # included if the ACTION is DNAT or REDIRECT. # # Example: loc:192.168.1.3:3128 specifies a local # server at IP address 192.168.1.3 and listening on port # 3128. The port number MUST be specified as an integer # and not as a name from /etc/services. # # if the ACTION is REDIRECT, this column needs only to # contain the port number on the firewall that the # request should be redirected to. # # PROTO Protocol - Must be "tcp", "tcp:syn", "udp", "icmp", # "ipp2p", "ipp2p:udp", "ipp2p:all" a number, or "all". # "ipp2p*" requires ipp2p match support in your kernel # and iptables. # # "tcp:syn" implies "tcp" plus the SYN flag must be # set and the RST,ACK and FIN flags must be reset. # # DEST PORT(S) Destination Ports. A comma-separated list of Port # names (from /etc/services), port numbers or port # ranges; if the protocol is "icmp", this column is # interpreted as the destination icmp-type(s). # # If the protocol is ipp2p, this column is interpreted # as an ipp2p option without the leading "--" (example # "bit" for bit-torrent). If no port is given, "ipp2p" is # assumed. # # A port range is expressed as <low port>:<high port>. # # This column is ignored if PROTOCOL = all but must be # entered if any of the following ields are supplied. # In that case, it is suggested that this field contain # "-" # # If your kernel contains multi-port match support, then # only a single Netfilter rule will be generated if in # this list and the CLIENT PORT(S) list below: # 1. There are 15 or less ports listed. # 2. No port ranges are included. # Otherwise, a separate rule will be generated for each # port. # # SOURCE PORT(S) (Optional) Port(s) used by the client. If omitted, # any source port is acceptable. Specified as a comma- # separated list of port names, port numbers or port # ranges. # # If you don't want to restrict client ports but need to # specify an ORIGINAL DEST in the next column, then # place "-" in this column. # # If your kernel contains multi-port match support, then # only a single Netfilter rule will be generated if in # this list and the DEST PORT(S) list above: # 1. There are 15 or less ports listed. # 2. No port ranges are included. # Otherwise, a separate rule will be generated for each # port. # # ORIGINAL DEST (0ptional) -- If ACTION is DNAT[-] or REDIRECT[-] # then if included and different from the IP # address given in the SERVER column, this is an address # on some interface on the firewall and connections to # that address will be forwarded to the IP and port # specified in the DEST column. # # A comma-separated list of addresses may also be used. # This is usually most useful with the REDIRECT target # where you want to redirect traffic destined for # particular set of hosts. # # Finally, if the list of addresses begins with "!" then # the rule will be followed only if the original # destination address in the connection request does not # match any of the addresses listed. # # For other actions, this column may be included and may # contain one or more addresses (host or network) # separated by commas. Address ranges are not allowed. # When this column is supplied, rules are generated # that require that the original destination address # matches one of the listed addresses. This feature is # most useful when you want to generate a filter rule # that corresponds to a DNAT- or REDIRECT- rule. In this # usage, the list of addresses should not begin with "!". # # See http://shorewall.net/PortKnocking.html for an # example of using an entry in this column with a # user-defined action rule. # # RATE LIMIT You may rate-limit the rule by placing a value in # this colume: # # <rate>/<interval>[:<burst>] # # where <rate> is the number of connections per # <interval> ("sec" or "min") and <burst> is the # largest burst permitted. If no <burst> is given, # a value of 5 is assumed. There may be no # no whitespace embedded in the specification. # # Example: 10/sec:20 # # USER/GROUP This column may only be non-empty if the SOURCE is # the firewall itself. # # The column may contain: # # [!][<user name or number>][:<group name or number>][+<program name>] # # When this column is non-empty, the rule applies only # if the program generating the output is running under # the effective <user> and/or <group> specified (or is # NOT running under that id if "!" is given). # # Examples: # # joe #program must be run by joe # :kids #program must be run by a member of # #the 'kids' group # !:kids #program must not be run by a member # #of the 'kids' group # +upnpd #program named upnpd (This feature was # #removed from Netfilter in kernel # #version 2.6.14). # # Example: Accept SMTP requests from the DMZ to the internet # # #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL # # PORT PORT(S) DEST # ACCEPT dmz net tcp smtp # # Example: Forward all ssh and http connection requests from the # internet to local system 192.168.1.3 # # #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL # # PORT PORT(S) DEST # DNAT net loc:192.168.1.3 tcp ssh,http # # Example: Forward all http connection requests from the internet # to local system 192.168.1.3 with a limit of 3 per second and # a maximum burst of 10 # # #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE # # PORT PORT(S) DEST LIMIT # DNAT net loc:192.168.1.3 tcp http - - 3/sec:10 # # Example: Redirect all locally-originating www connection requests to # port 3128 on the firewall (Squid running on the firewall # system) except when the destination address is 192.168.2.2 # # #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL # # PORT PORT(S) DEST # REDIRECT loc 3128 tcp www - !192.168.2.2 # # Example: All http requests from the internet to address # 130.252.100.69 are to be forwarded to 192.168.1.3 # # #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL # # PORT PORT(S) DEST # DNAT net loc:192.168.1.3 tcp 80 - 130.252.100.69 # # Example: You want to accept SSH connections to your firewall only # from internet IP addresses 130.252.100.69 and 130.252.100.70 # # #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL # # PORT PORT(S) DEST # ACCEPT net:130.252.100.69,130.252.100.70 \ # $FW tcp 22 # # Example: From the Internet, you want to connect to TCP port 2222 on # your firewall and have the connection forwarded to port 22 # on local system 192.168.3.4 # #ACTION SOURCE DEST PROTO DEST # # PORT # DNAT net loc:192.168.3.4:22 tcp 2222 # ############################################################################################################# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ # PORT(S) PORT(S) DEST LIMIT GROUP #SECTION ESTABLISHED #SECTION RELATED SECTION NEW #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
# # Shorewall version 3.2 - Masq file # # /etc/shorewall/masq # # Use this file to define dynamic NAT (Masquerading) and to define # Source NAT (SNAT). # # WARNING: The entries in this file are order-sensitive. The first # entry that matches a particular connection will be the one that # is used. # # WARNING: If you have more than one ISP, adding entries to this # file will *not* force connections to go out through a particular # ISP. You must use PREROUTING entries in /etc/shorewall/tcrules # to do that. # # Columns are: # # INTERFACE -- Outgoing interface. This is usually your internet # interface. If ADD_SNAT_ALIASES=Yes in # /etc/shorewall/shorewall.conf, you may add ":" and # a digit to indicate that you want the alias added with # that name (e.g., eth0:0). This will allow the alias to # be displayed with ifconfig. THAT IS THE ONLY USE FOR # THE ALIAS NAME AND IT MAY NOT APPEAR IN ANY OTHER # PLACE IN YOUR SHOREWALL CONFIGURATION. # # This may be qualified by adding the character # ":" followed by a destination host or subnet. # # If you wish to inhibit the action of ADD_SNAT_ALIASES # for this entry then include the ":" but omit the digit: # # eth0: # eth2::192.0.2.32/27 # # Normally Masq/SNAT rules are evaluated after those for # one-to-one NAT (/etc/shorewall/nat file). If you want # the rule to be applied before one-to-one NAT rules, # prefix the interface name with "+": # # +eth0 # +eth0:192.0.2.32/27 # +eth0:2 # # This feature should only be required if you need to # insert rules in this file that preempt entries in # /etc/shorewall/nat. # # SUBNET -- Subnet that you wish to masquerade. You can specify this as # a subnet or as an interface. If you give the name of an # interface, the interface must be up before you start the # firewall (Shorewall will use your main routing table to # determine the appropriate subnet(s) to masquerade). # # In order to exclude a subset of the specified SUBNET, you # may append "!" and a comma-separated list of IP addresses # and/or subnets that you wish to exclude. # # Example: eth1!192.168.1.4,192.168.32.0/27 # # In that example traffic from eth1 would be masqueraded unless # it came from 192.168.1.4 or 196.168.32.0/27 # # ADDRESS -- (Optional). If you specify an address here, SNAT will be # used and this will be the source address. If # ADD_SNAT_ALIASES is set to Yes or yes in # /etc/shorewall/shorewall.conf then Shorewall # will automatically add this address to the # INTERFACE named in the first column. # # You may also specify a range of up to 256 # IP addresses if you want the SNAT address to # be assigned from that range in a round-robin # range by connection. The range is specified by # <first ip in range>-<last ip in range>. # # Example: 206.124.146.177-206.124.146.180 # # You may also use the special value "detect" # which causes Shorewall to determine the # IP addresses configured on the interface named # in the INTERFACES column and substitute them # in this column. # # Finally, you may also specify a comma-separated # list of ranges and/or addresses in this column. # # This column may not contain DNS Names. # # Normally, Netfilter will attempt to retain # the source port number. You may cause # netfilter to remap the source port by following # an address or range (if any) by ":" and # a port range with the format <low port>- # <high port>. If this is done, you must # specify "tcp" or "udp" in the PROTO column. # # Examples: # # 192.0.2.4:5000-6000 # :4000-5000 # # You can invoke the SAME target using the # following in this column: # # SAME:[nodst:]<address-range>[,<address-range>...] # # The <address-ranges> may be single addresses # or "detect" as described above. # # SAME works like SNAT with the exception that # the same local IP address is assigned to each # connection from a local address to a given # remote address. # # If the 'nodst:' option is included, then the # same source address is used for a given # internal system regardless of which remote # system is involved. # # If you want to leave this column empty # but you need to specify the next column then # place a hyphen ("-") here. # # PROTO -- (Optional) If you wish to restrict this entry to a # particular protocol then enter the protocol # name (from /etc/protocols) or number here. # # PORT(S) -- (Optional) If the PROTO column specifies TCP (protocol 6) # or UDP (protocol 17) then you may list one # or more port numbers (or names from # /etc/services) separated by commas or you # may list a single port range # (<low port>:<high port>). # # Where a comma-separated list is given, your # kernel and iptables must have multiport match # support and a maximum of 15 ports may be # listed. # # IPSEC -- (Optional) If you specify a value other than "-" in this # column, you must be running kernel 2.6 and # your kernel and iptables must include policy # match support. # # Comma-separated list of options from the # following. Only packets that will be encrypted # via an SA that matches these options will have # their source address changed. # # Yes or yes -- must be the only option # listed and matches all outbound # traffic that will be encrypted. # # reqid=<number> where <number> is # specified using setkey(8) using the # 'unique:<number> option for the SPD # level. # # spi=<number> where <number> is the # SPI of the SA. # # proto=ah|esp|ipcomp # # mode=transport|tunnel # # tunnel-src=<address>[/<mask>] (only # available with mode=tunnel) # # tunnel-dst=<address>[/<mask>] (only # available with mode=tunnel) # # strict Means that packets must match # all rules. # # next Separates rules; can only be # used with strict.. # # Example 1: # # You have a simple masquerading setup where eth0 connects to # a DSL or cable modem and eth1 connects to your local network # with subnet 192.168.0.0/24. # # Your entry in the file can be either: # # eth0 eth1 # # or # # eth0 192.168.0.0/24 # # Example 2: # # You add a router to your local network to connect subnet # 192.168.1.0/24 which you also want to masquerade. You then # add a second entry for eth0 to this file: # # eth0 192.168.1.0/24 # # Example 3: # # You have an IPSEC tunnel through ipsec0 and you want to # masquerade packets coming from 192.168.1.0/24 but only if # these packets are destined for hosts in 10.1.1.0/24: # # ipsec0:10.1.1.0/24 196.168.1.0/24 # # Example 4: # # You want all outgoing traffic from 192.168.1.0/24 through # eth0 to use source address 206.124.146.176 which is NOT the # primary address of eth0. You want 206.124.146.176 added to # be added to eth0 with name eth0:0. # # eth0:0 192.168.1.0/24 206.124.146.176 # # Example 5: # # You want all outgoing SMTP traffic entering the firewall # on eth1 to be sent from eth0 with source IP address # 206.124.146.177. You want all other outgoing traffic # from eth1 to be sent from eth0 with source IP address # 206.124.146.176. # # eth0 eth1 206.124.146.177 tcp smtp # eth0 eth1 206.124.146.176 # # THE ORDER OF THE ABOVE TWO RULES IS SIGNIFICANT!!!!! # # For additional information, see http://shorewall.net/Documentation.htm#Masq # ############################################################################### #INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC eth1 eth0 #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
zones文件
# # Shorewall version 3.2 - Zones File # # /etc/shorewall/zones # # This file declares your network zones. You specify the hosts in # each zone through entries in /etc/shorewall/interfaces or # /etc/shorewall/hosts. # # WARNING: The format of this file changed in Shorewall 3.0.0. You can # continue to use your old records provided that you set # IPSECFILE=ipsec in /etc/shorewall/shorewall.conf. This will # signal Shorewall that the IPSEC-related zone options are # still specified in /etc/shorewall/ipsec rather than in this # file. # # To use records in the format described below, you must have # IPSECFILE=zones specified in /etc/shorewall/shorewall.conf # AND YOU MUST NOT SET THE 'FW' VARIABLE IN THAT FILE!!!!! # # Columns are: # # ZONE Short name of the zone (5 Characters or less in length). # The names "all" and "none" are reserved and may not be # used as zone names. # # Where a zone is nested in one or more other zones, # you may follow the (sub)zone name by ":" and a # comma-separated list of the parent zones. The parent # zones must have been defined in earlier records in this # file. # # Example: # # #ZONE TYPE OPTIONS # a ipv4 # b ipv4 # c:a,b ipv4 # # Currently, Shorewall uses this information to reorder the # zone list so that parent zones appear after their subzones in # the list. The IMPLICIT_CONTINUE option in shorewall.conf can # also create implicit CONTINUE policies to/from the subzone. # # In the future, Shorewall may make additional use # of nesting information. # # TYPE ipv4 - This is the standard Shorewall zone type and is the # default if you leave this column empty or if you enter # "-" in the column. Communication with some zone hosts # may be encrypted. Encrypted hosts are designated using # the 'ipsec'option in /etc/shorewall/hosts. # ipsec - Communication with all zone hosts is encrypted # Your kernel and iptables must include policy # match support. # firewall # - Designates the firewall itself. You must have # exactly one 'firewall' zone. No options are # permitted with a 'firewall' zone. The name that you # enter in the ZONE column will be stored in the shell # variable $FW which you may use in other configuration # files to designate the firewall zone. # # OPTIONS, A comma-separated list of options as follows: # IN OPTIONS, # OUT OPTIONS reqid=<number> where <number> is specified # using setkey(8) using the 'unique:<number> # option for the SPD level. # # spi=<number> where <number> is the SPI of # the SA used to encrypt/decrypt packets. # # proto=ah|esp|ipcomp # # mss=<number> (sets the MSS field in TCP packets) # # mode=transport|tunnel # # tunnel-src=<address>[/<mask>] (only # available with mode=tunnel) # # tunnel-dst=<address>[/<mask>] (only # available with mode=tunnel) # # strict Means that packets must match all rules. # # next Separates rules; can only be used with # strict # # Example: # mode=transport,reqid=44 # # The options in the OPTIONS column are applied to both incoming # and outgoing traffic. The IN OPTIONS are applied to incoming # traffic (in addition to OPTIONS) and the OUT OPTIONS are # applied to outgoing traffic. # # If you wish to leave a column empty but need to make an entry # in a following column, use "-". #------------------------------------------------------------------------------ # Example zones: # # You have a three interface firewall with internet, local and DMZ # interfaces. # # #ZONE TYPE OPTIONS IN OUT # # OPTIONS OPTIONS # fw firewall # net ipv4 # loc ipv4 # dmz ipv4 # # # For more information, see http://www.shorewall.net/Documentation.htm#Zones # ############################################################################### #ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall net ipv4 #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
# # Shorewall version 3.2 - Interfaces File # # /etc/shorewall/interfaces # # You must add an entry in this file for each network interface on your # firewall system. # # Columns are: # # ZONE Zone for this interface. Must match the name of a # zone defined in /etc/shorewall/zones. You may not # list the firewall zone in this column. # # If the interface serves multiple zones that will be # defined in the /etc/shorewall/hosts file, you should # place "-" in this column. # # If there are multiple interfaces to the same zone, # you must list them in separate entries: # # Example: # # loc eth1 - # loc eth2 - # # INTERFACE Name of interface. Each interface may be listed only # once in this file. You may NOT specify the name of # an alias (e.g., eth0:0) here; see # http://www.shorewall.net/FAQ.htm#faq18 # # You may specify wildcards here. For example, if you # want to make an entry that applies to all PPP # interfaces, use 'ppp+'. # # There is no need to define the loopback interface (lo) # in this file. # # BROADCAST The broadcast address for the subnetwork to which the # interface belongs. For P-T-P interfaces, this # column is left blank.If the interface has multiple # addresses on multiple subnets then list the broadcast # addresses as a comma-separated list. # # If you use the special value "detect", Shorewall # will detect the broadcast address(es) for you. If you # select this option, the interface must be up before # the firewall is started. # # If you don't want to give a value for this column but # you want to enter a value in the OPTIONS column, enter # "-" in this column. # # OPTIONS A comma-separated list of options including the # following: # # dhcp - Specify this option when any of # the following are true: # 1. the interface gets its IP address # via DHCP # 2. the interface is used by # a DHCP server running on the firewall # 3. you have a static IP but are on a LAN # segment with lots of Laptop DHCP # clients. # 4. the interface is a bridge with # a DHCP server on one port and DHCP # clients on another port. # # norfc1918 - This interface should not receive # any packets whose source is in one # of the ranges reserved by RFC 1918 # (i.e., private or "non-routable" # addresses). If packet mangling or # connection-tracking match is enabled in # your kernel, packets whose destination # addresses are reserved by RFC 1918 are # also rejected. # # routefilter - turn on kernel route filtering for this # interface (anti-spoofing measure). This # option can also be enabled globally in # the /etc/shorewall/shorewall.conf file. # # logmartians - turn on kernel martian logging (logging # of packets with impossible source # addresses. It is suggested that if you # set routefilter on an interface that # you also set logmartians. This option # may also be enabled globally in the # /etc/shorewall/shorewall.conf file. # # blacklist - Check packets arriving on this interface # against the /etc/shorewall/blacklist # file. # # maclist - Connection requests from this interface # are compared against the contents of # /etc/shorewall/maclist. If this option # is specified, the interface must be # an ethernet NIC and must be up before # Shorewall is started. # # tcpflags - Packets arriving on this interface are # checked for certain illegal combinations # of TCP flags. Packets found to have # such a combination of flags are handled # according to the setting of # TCP_FLAGS_DISPOSITION after having been # logged according to the setting of # TCP_FLAGS_LOG_LEVEL. # # proxyarp - # Sets # /proc/sys/net/ipv4/conf/<interface>/proxy_arp. # Do NOT use this option if you are # employing Proxy ARP through entries in # /etc/shorewall/proxyarp. This option is # intended soley for use with Proxy ARP # sub-networking as described at: # http://www.tldp.org/HOWTO/mini/Proxy-ARP-Subnet # # routeback - If specified, indicates that Shorewall # should include rules that allow # filtering traffic arriving on this # interface back out that same interface. # # arp_filter - If specified, this interface will only # respond to ARP who-has requests for IP # addresses configured on the interface. # If not specified, the interface can # respond to ARP who-has requests for # IP addresses on any of the firewall's # interface. The interface must be up # when Shorewall is started. # # arp_ignore[=<number>] # - If specified, this interface will # respond to arp requests based on the # value of <number>. # # 1 - reply only if the target IP address # is local address configured on the # incoming interface # # 2 - reply only if the target IP address # is local address configured on the # incoming interface and both with the # sender's IP address are part from same # subnet on this interface # # 3 - do not reply for local addresses # configured with scope host, only # resolutions for global and link # addresses are replied # # 4-7 - reserved # # 8 - do not reply for all local # addresses # # If no <number> is given then the value # 1 is assumed # # WARNING -- DO NOT SPECIFY arp_ignore # FOR ANY INTERFACE INVOLVED IN PROXY ARP. # # nosmurfs - Filter packets for smurfs # (packets with a broadcast # address as the source). # # Smurfs will be optionally logged based # on the setting of SMURF_LOG_LEVEL in # shorewall.conf. After logging, the # packets are dropped. # # detectnets - Automatically taylors the zone named # in the ZONE column to include only those # hosts routed through the interface. # # sourceroute - If this option is not specified for an # interface, then source-routed packets # will not be accepted from that # interface (sets /proc/sys/net/ipv4/ # conf/<interface>/ # accept_source_route to 1). # Only set this option if you know what # you are you doing. This might represent # a security risk and is not usually # needed. # # upnp - Incoming requests from this interface # may be remapped via UPNP (upnpd). # # WARNING: DO NOT SET THE detectnets OPTION ON YOUR # INTERNET INTERFACE. # # The order in which you list the options is not # significant but the list should have no embedded white # space. # # Example 1: Suppose you have eth0 connected to a DSL modem and # eth1 connected to your local network and that your # local subnet is 192.168.1.0/24. The interface gets # it's IP address via DHCP from subnet # 206.191.149.192/27. You have a DMZ with subnet # 192.168.2.0/24 using eth2. # # Your entries for this setup would look like: # # net eth0 206.191.149.223 dhcp # local eth1 192.168.1.255 # dmz eth2 192.168.2.255 # # Example 2: The same configuration without specifying broadcast # addresses is: # # net eth0 detect dhcp # loc eth1 detect # dmz eth2 detect # # Example 3: You have a simple dial-in system with no ethernet # connections. # # net ppp0 - # # For additional information, see # http://shorewall.net/Documentation.htm#Interfaces # ############################################################################### #ZONE INTERFACE BROADCAST OPTIONS net eth1 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
# # Shorewall version 3.2 - Policy File # # /etc/shorewall/policy # # THE ORDER OF ENTRIES IN THIS FILE IS IMPORTANT # # This file determines what to do with a new connection request if we # don't get a match from the /etc/shorewall/rules file . For each # source/destination pair, the file is processed in order until a # match is found ("all" will match any client or server). # # INTRA-ZONE POLICIES ARE PRE-DEFINED # # For $FW and for all of the zoned defined in /etc/shorewall/zones, # the POLICY for connections from the zone to itself is ACCEPT (with no # logging or TCP connection rate limiting but may be overridden by an # entry in this file. The overriding entry must be explicit (cannot use # "all" in the SOURCE or DEST). # # Similarly, if you have IMPLICIT_CONTINUE=Yes in shorewall.conf, then # the implicit policy to/from any sub-zone is CONTINUE. These implicit # CONTINUE policies may also be overridden by an explicit entry in this # file. # # Columns are: # # SOURCE Source zone. Must be the name of a zone defined # in /etc/shorewall/zones, $FW or "all". # # DEST Destination zone. Must be the name of a zone defined # in /etc/shorewall/zones, $FW or "all" # # POLICY Policy if no match from the rules file is found. Must # be "ACCEPT", "DROP", "REJECT", "CONTINUE" or "NONE". # # ACCEPT - Accept the connection # DROP - Ignore the connection request # REJECT - For TCP, send RST. For all other, # send "port unreachable" ICMP. # QUEUE - Send the request to a user-space # application using the QUEUE target. # CONTINUE - Pass the connection request past # any other rules that it might also # match (where the source or # destination zone in those rules is # a superset of the SOURCE or DEST # in this policy). # NONE - Assume that there will never be any # packets from this SOURCE # to this DEST. Shorewall will not set # up any infrastructure to handle such # packets and you may not have any # rules with this SOURCE and DEST in # the /etc/shorewall/rules file. If # such a packet _is_ received, the # result is undefined. NONE may not be # used if the SOURCE or DEST columns # contain the firewall zone ($FW) or # "all". # # If this column contains ACCEPT, DROP or REJECT and a # corresponding common action is defined in # /etc/shorewall/actions (or # /usr/share/shorewall/actions.std) then that action # will be invoked before the policy named in this column # is enforced. # # LOG LEVEL If supplied, each connection handled under the default # POLICY is logged at that level. If not supplied, no # log message is generated. See syslog.conf(5) for a # description of log levels. # # Beginning with Shorewall version 1.3.12, you may # also specify ULOG (must be in upper case). This will # log to the ULOG target and sent to a separate log # through use of ulogd # (http://www.gnumonks.org/projects/ulogd). # # If you don't want to log but need to specify the # following column, place "-" here. # # LIMIT:BURST If passed, specifies the maximum TCP connection rate # and the size of an acceptable burst. If not specified, # TCP connections are not limited. # # Example: # # a) All connections from the local network to the internet are allowed # b) All connections from the internet are ignored but logged at syslog # level KERNEL.INFO. # d) All other connection requests are rejected and logged at level # KERNEL.INFO. # # #SOURCE DEST POLICY LOG # # LEVEL # loc net ACCEPT # net all DROP info # # # # THE FOLLOWING POLICY MUST BE LAST # # # all all REJECT info # # See http://shorewall.net/Documentation.htm#Policy for additional information. # ############################################################################### #SOURCE DEST POLICY LOG LIMIT:BURST # LEVEL fw all ACCEPT net all DROP all all REJECT #LAST LINE -- DO NOT REMOVE
就这样,还是把我给挡住出不去,真乃神奇,我现在只想到两种可能,1,ppp拨号方式和shorewall有兼容问题,2.pppoe拨号方式的nat设置有特别的地方,只有这两种可能了,请高手指教,谢谢,小弟实在是想不出还有什么不对的地方了
作者: abcbuzhiming 发布时间: 2007-08-09
简单实在,太复杂的东西,不喜欢玩。
作者: GaryWuGang 发布时间: 2007-08-10
作者: GaryWuGang
还不如,直接自己写iptables 呢。
简单实在,太复杂的东西,不喜欢玩。 |
作者: abcbuzhiming 发布时间: 2007-08-10
原来你是pppoe呀,防火墙设定时“要举一反三”了。 |
#INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC eth1 eth0 #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE |
作者: linuxth 发布时间: 2007-08-10
作者: linuxth
记得之前有这样说过。
在Masq的配置文件中,不难发现问题 用ppp0 来替换你的外网 eth1,或者增加ppp0相关设定。 |
net ppp0
这样写吗?然后把masq里给写成
ppp0 eth0
这么干?
经你这么一说我想起来了,我今天回来看某shorewall帖子的时候看到这么一句:
interfaces文件: [Copy to clipboard] [ - ]CODE: #ZONE INTERFACE BROADCAST OPTIONS loc eth1 - net eth0 - dmz eth2 - 这里是定义网络界面的文件,也就是将zone文件里面建立的区域和实际网络界面联系起来。 每行都是指实际的网络界面。除了普通的eth外,你还可以使用ppp界面例如: loc ppp+ -这里的意思是本地网络是用户拨号到防火墙的。
PS:请问你有什么建议解决我说的那个shorewall stop的时候会自动堵塞所有外部对fw的访问的问题,我查了shorewall.conf文件里的文档,就没找到哪一个项能关掉这功能
作者: abcbuzhiming 发布时间: 2007-08-10
注:启动防火墙时,ppp要处于连接状态。
作者: linuxth 发布时间: 2007-08-10
作者: linuxth
是的,你的理解正确,增加ppp界面再来测试防火墙。
注:启动防火墙时,ppp要处于连接状态。 |
作者: abcbuzhiming 发布时间: 2007-08-10
作者: linuxth 发布时间: 2007-08-10
作者: linuxth
设为开机自动拔号。
|
对了,还有更麻烦的,万一掉线了,shorewall会怎么样,这才更头疼……
PS:那个shorewall stop后会堵塞所有外部对fw区域的访问的问题,你有没有发现,有解决方法吗?
作者: abcbuzhiming 发布时间: 2007-08-10
如何保证开机拨号拨上去了以后shorewall才启动才是难题…… |
万一掉线了,shorewall会怎么样,这才更头疼 |
ps的问题不清楚,没碰到,等你防火墙能正常工作后,再回头看这个问题,是否存在。
作者: linuxth 发布时间: 2007-08-10
作者: linuxth
嗯,可以如愿的。
嗯,试图让ppp断线重拔,ShareWall应该可以继续工作的(这个需要测试一下) ps的问题不清楚,没碰到,等你防火墙能正常工作后,再回头看这个问题,是否存在。 |
PS的问题,我今天已经做了一次测试,他这功能很明显是默认的,不是和我配置防火墙有关,你可以看我的截图,在这项目的配置文件里,找不到关闭的方法,我查找了shorewall.conf,查到了这样一段话
FOR ADMINS THAT REPEATEDLY SHOOT THEMSELVES IN THE FOOT # # Normally, when a "shorewall stop" command is issued or an error occurs during # the execution of another shorewall command, Shorewall puts the firewall into # a state where only traffic to/from the hosts listed in # /etc/shorewall/routestopped is accepted. # # When performing remote administration on a Shorewall firewall, it is # therefore recommended that the IP address of the computer being used for # administration be added to the firewall's /etc/shorewall/routestopped file. # # Some administrators have a hard time remembering to do this with the result # that they get to drive across town in the middle of the night to restart # a remote firewall (or worse, they have to get someone out of bed to drive # across town to restart a very remote firewall). # # For those administrators, we offer ADMINISABSENTMINDED=Yes. With this # setting, when the firewall enters the 'stopped' state: # # All traffic that is part of or related to established connections is still # allowed and all OUTPUT traffic is allowed. This is in addition to traffic # to and from hosts listed in /etc/shorewall/routestopped. # # If this variable is not set or it is set to the null value then # ADMINISABSENTMINDED=No is assumed. # ADMINISABSENTMINDED=Yes
1.JPG (117.9 KB, 18 次查看) | |
2.JPG (95.2 KB, 14 次查看) |
作者: abcbuzhiming 发布时间: 2007-08-10
收到,如你所说,没错。
作者: linuxth 发布时间: 2007-08-10
作者: linuxth
/etc/shorewall/routestopped
收到,如你所说,没错。 |
作者: abcbuzhiming 发布时间: 2007-08-10
作者: abcbuzhiming
iptables简单?天啊,光看手册我都要疯了,就是因为怕了iptables才跑来用shorewall的
|
作者: wcw 发布时间: 2007-08-13
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28