Pfsense는 openBSD 커널을 기반으로 하는 오픈 소스 방화벽입니다.
코드는 어디에서 찾을 수 있으며 방화벽을 구축하기 위해 코드를 수정하려면 어떻게 해야 합니까?
답변1
웹사이트에 표시된 것처럼 실제 코드는 GitHub를 통해 제공되므로 보는 즐거움을 누릴 수 있습니다.
https://www.pfsense.org/get-involved/
또 다른 옵션은 관련 웹 서버 구성 파일을 확인하여 웹 프런트엔드 파일의 위치를 찾아 프로젝트에 맞게 수정할 다른 관련 파일을 추적할 수 있는 것입니다(이전에 다른 소프트웨어 장치 유형 장치에서도 비슷한 작업을 수행한 적이 있습니다). 하지만 잘 디자인되지 않으면 엉망이 될 수 있고 처음부터 시작하는 것이 더 나을 수도 있다는 점을 이해해야 합니다. 물론 여기서는 그럴지 의심스럽습니다...).
분명히, 직접적으로나 WYSIWYG 편집기를 통해 실제 파일에 액세스하면 수백만 가지 다른 방법으로 파일을 수정할 수 있습니다.
귀하의 후속 댓글이 여기 저기로 이동하는 것 같습니다…
이것은 처음부터 그것에 대해 생각하고 충분한 배경 지식 없이 전체가 어떻게 작동할지 상상함으로써 배울 수 없는 것입니다.
배경 지식이 충분하더라도 모든 것이 어떻게 조화를 이루는 지와 같은 많은 실제적인 문제(당신이 알아낼 것입니다)를 처리해야 합니다. 당신은 같은 것에 대해 묻고 있지 않습니다. 또한 많은 하위 문제를 해결하는 방법을 묻는 것 같습니다.
내가 말했듯이, 가장 좋은 방법은 실습을 통해 배우는 것입니다. 즉, 문제를 해결하면서 연구를 수행하는 것입니다.
또한, 내가 본 바로는 자신이 무슨 일을 하고 있는지 전혀 알 수 없습니다. 나는 이것을했다. 잠시 동안 HTML 작업을 하고, 다음에는 BASH, Perl 또는 Python의 CGI 스크립트 작업을 하고, 다음에는 C/C++에서 운영 체제 수준의 작업을 할 수 있습니다.
이 경우, 한 언어 또는 다른 언어를 알고 있다고 말하는 것은 도움이 되지 않습니다. 프로젝트를 성공적으로 완료하려면 유연성, 탄력성 및 의지가 핵심입니다.
이를 수행하고 싶다면 참여하는 가장 좋은 방법은 아마도 기존 프로젝트(예: pfSense)에 참여한 다음 필요에 맞게 포크하고 해당 프로젝트에 참여한 구성원에게 도움을 요청하는 것입니다. ...
그렇지 않으면 처음부터 직접 시작하여 문제를 분석하고 문제가 완료될 때까지 여기와 다른 온라인 포럼에 질문할 수 있습니다.
커널 수준 수정을 위한 다양한 리소스가 이미 많이 있습니다. 앞서 언급했듯이 표현 방법에 따라 BSD 코어 기반 방화벽 어플라이언스 또는 방화벽/운영 체제에 대한 사용자 정의 웹 인터페이스를 처음부터 간단히 구축할 수 있습니다. 얼마나 멀리 가고 싶은지 파악한 다음 계속해서 노력해야 합니다.
제가 다른 사람들의 글을 읽어본 결과, 앉아서 읽어보면 자신이 고려하고 있는 규모가 어느 정도인지 파악한 후 아예 프로젝트를 철회하거나 그만 두게 될 것입니다. 그냥 열심히 시작해 보세요...
http://www.freesoftwaremagazine.com/articles/writing_a_kernel_module_for_freebsd
https://www.freebsd.org/doc/en_US.ISO8859-1/books/
http://www.nostarch.com/bsddrivers.htm
이것은 Linux 리소스이지만 핵심 이론은 동일합니다. 그것은 당신에게 유용할 수 있습니다.