나는 그것을 설정 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
보다 정확하게는 0으로 설정됩니다.멈추다스크립트 부분 /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