Skip to main content
Topic: How to disable packet forwarding. Sysctl does not load config automatically. (Read 79 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

How to disable packet forwarding. Sysctl does not load config automatically.

Hello, I try to diasble packet forwarding using .conf file located in the /etc/sysctl.d/*.conf file:
net.ipv4.ip_forward = 0
net.ipv4.conf.all.forwarding = 0
net.ipv6.conf.all.forwarding = 0
but for some reason it does not load it (sysctl -a | grep forward) and I have to do it manually after every reboot. Any ideas why and how to fix it?

Re: How to disable packet forwarding. Sysctl does not load config automatically.

Reply #1
Is the sysctl service enabled ?

 

Re: How to disable packet forwarding. Sysctl does not load config automatically.

Reply #2
Yeah, I have enabled it and it is running. I have read that sysctl have this bug but I have no idea whether it is connected to my problem.
Code: [Select]
#!/usr/bin/openrc-run
# Copyright (c) 2007-2015 The OpenRC Authors.
# See the Authors file at the top-level directory of this distribution and
# https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.

depend()
{
        after clock
        #after net
        before bootmisc logger
        keyword -prefix -systemd-nspawn -vserver
}

BSD_sysctl()
{
        [ -e /etc/sysctl.conf ] || return 0
        local retval=0 var= comments= conf=
        eindent
        for conf in /etc/sysctl.conf /etc/sysctl.d/*.conf; do
                if [ -r "$conf" ]; then
                        vebegin "applying $conf"
                        while read var comments; do
                                case "$var" in
                                ""|"#"*) continue;;
                                esac
                                sysctl -w "$var" >/dev/null || retval=1
                        done < "$conf"
                        veend $retval
                fi
        done
        eoutdent
        return $retval
}

Linux_sysctl()
{
        local quiet
        yesno $rc_verbose || quiet=-q

        sysctl ${quiet} --system
}

start()
{
        local rc=0

        ebegin "Configuring kernel parameters"
        case "$RC_UNAME" in
        *BSD|GNU) BSD_sysctl; rc=$? ;;
        Linux) Linux_sysctl; rc=$? ;;
        esac
        eend $rc "Unable to configure some kernel parameters"
}