PHP를 사용하여 Arch Linux의 IP 주소를 정적으로 할당하고 싶습니다. 넷마스크, 인터페이스, 브로드캐스트, 주소, 게이트웨이를 사용하여 IP를 변경하고 싶습니다. 사용자는 HTML 페이지에 값을 입력합니다. html 페이지는 PHP 페이지에 데이터를 게시합니다. 이 데이터를 사용하여 IP를 변경하고 싶습니다. 왜 이런 일을 하는가? 이 문제를 해결하도록 도와주세요.
파일을 사용할 수 있나요?
파일을 사용하여 rc.conf에 직접 쓸 생각입니다!!...이게 작동할까요? 어떻게??..아파치와 PHP로 아치 리눅스를 시작했습니다..도와주셔서 정말 감사드립니다.
답변1
IP를 영구적으로 변경하려면 의 값을 수정해야 합니다 rc.conf
. 수정 후에는 서비스를 다시 시작해야 합니다 network
. 이 작업은 두 가지 방법으로 수행할 수 있습니다.
/etc/rc.d/network restart
또는
rc.d restart network
서비스를 수정 rc.conf
하고 다시 시작하려면 루트 권한이 필요합니다. Apache를 루트로 실행하는 것은 좋은 생각이 아니므로 sudo로 실행되는 래퍼를 만들어 서비스를 다시 시작하고 rc.conf
.
PHP 스크립트 -> 쉘 스크립트 시작sudo ./modify-network IP NETMASK GW
Sudo 항목은 다음 형식이어야 합니다.
www ALL=(root) NOPASSWD: /path/to/modify-network
PHP 스크립트에서 입력을 필터링하는 것을 잊지 마세요. IP번호가 실제 IP이고 rc.conf
주입되지 않았는지 확인하세요 ;) 좋아요 192.168.0.100"\nDAEMONS=(!apache)
.
그리고 변경 후 사용자를 새 주소로 리디렉션하는 것을 기억하십시오(사용자가 "IP 변경" 버튼을 누르고 데이터를 게시하고 일부 JavaScript를 실행 sleep 1
하고window.location.href = 'http://NEW_IP/';
SELinux를 사용하여 이 솔루션에 보안을 강화할 수도 있습니다.