回答:
違いはありません。sysctlLinux のコマンドは、のファイルに直接書き込みます/proc/sys。のソースコードからのこのスニペットはsysctlそれを証明します:
/*
 * Write a sysctl setting
 */
static int WriteSetting(const char *setting)
{
    /* ... */
    /* used to open the file */
    tmpname = xmalloc(equals - name + 1 + strlen(PROC_PATH));
    strcpy(tmpname, PROC_PATH);
    strncat(tmpname, name, (int) (equals - name));
    tmpname[equals - name + strlen(PROC_PATH)] = 0;
    /* change . to / */
    slashdot(tmpname + strlen(PROC_PATH), '.', '/');
    /* ... */
    fp = fopen(tmpname, "w");
    /* some error checking ... */
    rc = fprintf(fp, "%s\n", value);
    /* ... */
}
永続的なものが必要な場合は/etc/sysctl.conf、以下を含むファイル/etc/sysctl.d(例:)を編集または追加する必要があります/etc/sysctl.d/99-disable-ip-forwarding.conf。
# Disable IP packet forwarding
net.ipv4.ip_forward = 0
ちなみに、一部のディストリビューションでは、デフォルトでこれを明示的に無効にしています。たとえば、RHEL <= 6またはFedora <= 15の場合、/etc/sysctl.conf次のようになります。
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
Fedora 20はそれを明示的に無効にしません。そこの設定を転送していない/etc/sysctl.conf、/etc/sysctl.d/または/usr/lib/sysctl.d/。