diff options
author | Darren Reed <darrenr@FreeBSD.org> | 2001-10-20 04:41:47 +0000 |
---|---|---|
committer | Darren Reed <darrenr@FreeBSD.org> | 2001-10-20 04:41:47 +0000 |
commit | 9645656d2c6fef81c4bb49896d7d4796b0be5878 (patch) | |
tree | 4091845a7f0d88004acf65065e82951da2423234 /etc/rc.network | |
parent | 7b60aacc90007c37a87025c1a99a0d789fb2b05c (diff) |
Allow ipnat_enable to be set to "yes" without requiring ipfiltre_enable to
be set to "yes"
PR: 25223
Notes
Notes:
svn path=/head/; revision=85221
Diffstat (limited to 'etc/rc.network')
-rw-r--r-- | etc/rc.network | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/etc/rc.network b/etc/rc.network index 51c2926fe597..340be2832916 100644 --- a/etc/rc.network +++ b/etc/rc.network @@ -85,17 +85,6 @@ network_pass1() { ${ipmon_program:-/sbin/ipmon} ${ipmon_flags} ;; esac - case "${ipnat_enable}" in - [Yy][Ee][Ss]) - if [ -r "${ipnat_rules}" ]; then - echo -n ' ipnat'; - eval ${ipnat_program:-/sbin/ipnat -CF -f} \ - "${ipnat_rules}" ${ipnat_flags} - else - echo -n ' NO IPNAT RULES' - fi - ;; - esac case "${ipfs_enable}" in [Yy][Ee][Ss]) if [ -r "/var/db/ipf/ipstate.ipf" ]; then @@ -109,6 +98,22 @@ network_pass1() { ipfilter_enable="NO" echo -n ' NO IPF RULES' fi + esac + case "${ipnat_enable}" in + [Yy][Ee][Ss]) + if [ "${ipfilter_in_kernel}" -eq 0 ] && kldload ipl; then + ipfilter_in_kernel=1 + echo "Kernel ipfilter module loaded." + elif [ "${ipfilter_in_kernel}" -eq 0 ]; then + echo "Warning: ipfilter kernel module failed to load." + fi + if [ -r "${ipnat_rules}" ]; then + echo -n ' ipnat'; + eval ${ipnat_program:-/sbin/ipnat -CF -f} \ + "${ipnat_rules}" ${ipnat_flags} + else + echo -n ' NO IPNAT RULES' + fi ;; esac |