Fedora 21은 포트 전달을 위해 방화벽(firewall-cmd)을 사용합니다. 정확히 어떻게 작동합니까? 아니면 그럴까요?

Fedora 21은 포트 전달을 위해 방화벽(firewall-cmd)을 사용합니다. 정확히 어떻게 작동합니까? 아니면 그럴까요?

"기본" 네트워킹 소프트웨어(firewalld)를 사용하여 포트를 전달하는 Fedora의 기능은 계속해서 믿을 수 없을 정도로 손상된 것으로 보입니다. 적어도 Fedora 19에서는 실제로 작동하지 않습니다.https://serverfault.com/questions/541087/fc19-firewalld-debugging-help-requested-ports-not-forwarding)

현재(21) 버전(현재 모든 업데이트)에서는 특정 영역에 인터페이스를 "영구적으로" 배치할 수도 없습니다. 확실히 이것은 여기에 표시된 것처럼 소프트웨어의 기본 기능입니다.https://serverfault.com/questions/683783/fedora-21-firewalld-firewall-cmd-wont-permanently-sign-interfaces-to-zones/683792#683792.

이 질문에 "허용된 답변"에서 알 수 있듯이,

https://serverfault.com/questions/524200/configuring-firewalld-in-fedora-18-19

IP 테이블은 여전히 ​​방화벽(firewall-cmd)에 의해 "뒤에서" 사용됩니다. 나는 이미 그것을 갖고 있다성공하지 못했습니다어느Firewalld(firewall-cmd)가 모든 포트 전달을 성공적으로 수행하도록 합니다.- 가능한 모든 것을 시도한 것은 아니지만 많은 노력을 기울였습니다. - 이것이 가능한지 궁금합니다.

어쨌든, 우리는 이 코드 줄에 신경을 써야 하는지 알아야 합니다. 코드 라인이 그렇게 무능하다면 도대체 왜 우리는 그것을 하는 데 개별적으로 며칠(그리고 집단적으로는 수년)을 소비합니까? 아마도 작성자는 최고의 시간을 보낼 준비가 될 때까지 코드를 당겨야 할까요? 어쩌면 누군가는 이렇게 말해야 할 것 같습니다."아니요, 이 문제가 해결될 때까지 ip-table을 사용하세요. 시간 낭비를 멈추세요. 죄송합니다!"

제가 말씀드릴 수 있는 것은 가장 기본적인 예는 작동하지 않는다는 것입니다.

예를 들어 알 수 없는 포트(예: 9876)를 외부 인터페이스에서 포트 22(SSH 포트)로 전달하여 특정 내부 시스템으로 전달하는 것을 고려해 보십시오. 따라서 새로 설치된 시스템에서는 나가는 인터페이스의 IP 주소를 정리한 후 할당합니다.영구적인해당 지역으로 이동합니다(참조:https://serverfault.com/questions/683783/fedora-21-firewalld-firewall-cmd-wont-permanently-sign-interfaces-to-zones/683792#683792)을 선택한 다음 전달을 할당합니다. 먼저 다음과 같은 방법을 사용하여 포트를 "열고" "전달"합니다.

firewall-cmd --zone=external --add-port=9876/tcp
firewall-cmd --zone=external --add-forward-port=port=9876:proto=tcp:toport=22:toaddr=192.168.1.1

문제는 이것이 작동하지 않는다는 것입니다. (결과는 단순한 시간 초과이며 로그에는 아무 것도 없습니다.) 이것이 올바른 구문임을 뒷받침하는 문서 참조를 제공할 수 있습니다. 이는 사소하지만 다른 사람이 이것이 작동할 수 있다고 생각했다는 점을 지적하고 싶습니다. 여기:http://www.certdepot.net/rhel7-get-started-firewalld/. 나는 그들이 어떻게 하는지 알고 싶습니다! 아니면 Fedora와 Centos 및/또는 "RHEL7"의 코드 줄 간의 차이점이 있습니까? !

Fedora 19에서 21까지 이 코드 줄이 실패한 후 일찍 출시된 것 같습니다. 그러나 내 생각이 틀렸다는 것을 알게 되어 기쁘다. 그렇지 않으면 나는 할 것이다IP 테이블 반환, 그것에 대해 행복하지 않습니다.

답변1

당신에게 적합하지 않다는 소식을 들으니 안타깝습니다. 내 경우에는 Fedora 22와 Centos 7을 --add-forward-port대신 쓰기만 하면 --add-port작동합니다.

어쩌면 이 --add-port명령이 방화벽을 깨뜨릴 수도 있습니다.

답변2

문제는 방화벽이 해당 영역 정보를 네트워크 관리자에 의존한다는 것일 수 있습니다. 포트 전달은 영역 기반입니다. 서버 설치에 Network Manager가 비활성화되어 있습니까?

추가 정보여기.

관련 정보