바이너리 호출 후 스크립트 실행

바이너리 호출 후 스크립트 실행

수정하고 싶어요iptables뒤쪽에VPN 연결. 이를 달성하는 가장 좋은 방법은 무엇입니까?

난 이미 시도했어체계맞춤 단위 사용네트워크 관리자 스케줄러.d디렉토리에 있지만 시작 시에만 작동하고 시작 시에는 작동하지 않는 것 같습니다.VPN중지하고 다시 시작하세요. 올바르게 작성한 경우:

[Unit]
Description=iptables setup
Requires=nordvpnd.service
After=nordvpn.service

[Service]
Type=simple
ExecStart=/usr/local/bin/setup_iptables.sh

[Install]
WantedBy=multi-user.target

모니터링할 수 있어요Tun0시작되고 구성된 경우 결과를 구문 분석합니다.

ip address ls dev tun0

그러나 이는 업데이트 간의 지연을 의미합니다. 전임자. 5초마다 테스트됩니다. 아마도 최소 4초를 의미할 것입니다. iptables가 예상대로 구성되지 않은 경우.

내 마지막 생각은 매번 setup_iptables.sh를 실행하는 것입니다./usr/bin/nordvpn호출되지만 어떻게 달성합니까?

감사해요

답변1

/usr/bin/nordvpn통화 후 즉시 반환됩니까, 아니면 VPN 연결이 완료된 후에 반환 됩니까 ?

후자의 경우 이름을 바꾸고 /usr/bin/nordvpn먼저 호출 한 다음 호출하는 스크립트를 /usr/bin/nordvpn.original작성하십시오 (이를 "래퍼 스크립트"라고 함)./usr/bin/nordvpn/usr/bin/nordvpn.original/usr/local/bin/setup_iptables.sh

즉시 반환되는 경우 /usr/bin/nordvpn래퍼 스크립트에서 VPN 연결이 설정되었는지(아마도 특정 항목을 핑하여?) 확인하고 그렇다면 실행해야 하기 때문에 더 어렵습니다 /usr/local/bin/setup_iptables.sh.

관련 정보