私はそれを設定しnet.ipv4.ip_forward = 1
て/etc/sysctl.conf
実行して出力で予想値に設定しましたが、sysctl -p
昨夜と今の間のどこかで何かがリセットされました。これを行う方法についてのアイデアはありますか?検索して検索しましたが、何も表示されませんでした。1
sysctl -a
0
/var/log/cron
forward
sysctl
答え1
一部のCentOSバージョンでは、ネットワークサービスが再起動されたときにそれをリセットします(net.ipv4.ip_forward
例:)。0
service restart networking
より正確にはゼロに設定されます。止めるスクリプト部分/etc/init.d/network
:
stop)
[ "$EUID" != "0" ] && exit 4
# Don't shut the network down if root is on NFS or a network
# block device.
# [...]
action $"Shutting down loopback interface: " ./ifdown ifcfg-lo
sysctl -w net.ipv4.ip_forward=0 > /dev/null 2>&1
スクリプトを編集し、この行を削除または変更できます。
バラよりRed Hat Bugzilla バグ 552653より多くの情報を知りたいです。
答え2
sysctl
ネットワークが正しく初期化される前に値がロードされるバグがあります。これはネットワーク設定を/etc/sysctl.conf
無視します。この問題に対する解決策は、初期化が繰り返されるように再起動するprocps
ことです。/etc/local.rc
問題のあるエラー:https://bugs.launchpad.net/ubuntu/+source/procps/+bug/50093
答え3
/var/log/cron
考えられる原因を特定して確認できるように、毎分この設定値を記録するようにロギングを設定しました。リカバリが高度なポリシーファイアウォール(APF)で実行されるクローン操作に対応しているようです。
誰かに役立つ場合に備えて、私のミニロギングスクリプトは次のようになります。
echo `date`" - "`sysctl -a | grep net.ipv4.ip_forward` >> /var/log/ip_forward_setting.log