합치려고 하는데Scott Lowe의 네임스페이스 생성 가이드~와 함께두 인터페이스 간의 트래픽 전달에 대한 이 답변.
cron @reboot 지시문을 사용하여 재부팅할 때마다 실행되는 이 스크립트가 있습니다. (이러한 명령 중 어느 것도 재부팅 후에도 지속되지 않는 것 같기 때문에 이 스크립트를 사용하고 있습니다.)
# Setup VPN
ip netns add vpnspace
ip link add vpnopen type veth peer name vpnbind
ip link set vpnopen netns vpnspace
ip netns exec vpnspace ifconfig vpnopen 10.0.0.1/24 up
을 사용하여 스크립트를 수동으로 실행하면 sudo
정상적으로 실행됩니다. 그러나 cron으로 스크립트를 실행하면 네 번째 줄인 은(는 ip netns exec vpnspace ifconfig vpnopen 10.0.0.1/24 up
) 실행되지 않습니다. 왜 이런 일이 발생합니까? 실행하려면 어떻게 해야 합니까?
요약: ifconfig vpnopen 10.0.0.1/24 up
네임스페이스 내에서 cron이 호출하면 실행되지 않습니다.
=============
설명:
- 내 크론 작업은
@reboot /home/ubuntu/startupscripts/rootscripts.sh
- 위에 제공된 코드는 다음과 같은 쉘 스크립트의 첫 번째 부분입니다.
sudo ip netns exec vpnspace ifconfig
"실행하지 않음"이란 IP 주소가 표시되었는지 확인하기 위해 터미널에서 명령을 실행하면 터미널이 빈 출력을 반환한다는 의미입니다 . 을 추가하여 출력을 기록하려고 했지만>>rootscripts.log
아무 것도 기록되지 않고 오류 메시지도 반환되지 않았습니다.
답변1
cron 명령은 일반적으로 기본 PATH로 실행됩니다. ip는 일반적으로 /bin에 있지만 ifconfig는 /sbin에 가장 많이 있습니다. . . 그러니 명령줄에 /sbin/ifconfig를 넣어보세요.