특정 대상 주소의 특정 포트로 전송된 모든 요청이 동일한 시스템의 특정 포트로 (투명하게 연결 애플리케이션으로) 리디렉션되도록 방화벽 구성 규칙을 설정해야 합니다. 나는 이 iptables
명령을 알고 있으며 이전에 다른 시스템에서 FirewallD와 작동하도록 설정했습니다.
문제는 이번에는 OpenSuse(Leap)에서 설정해야 한다는 것입니다. 명령 을 실행 iptables
하고 작동하는지 확인할 수 있습니다. 물론 문제는 설정이 지속되지 않고 재부팅 시 손실된다는 것입니다.
나는 OpenSuse가 이라는 것을 사용하고 특정 함수 내의 파일에 규칙을 추가하여 사용자 정의 규칙을 설정할 수 있다는 것을 배웠습니다 SuseFirewall2
. 나는 이것을 시도했지만 아무것도 작동하지 않는 것 같습니다. 또한 및 의 설정이 로 설정되어 있는지 확인했습니다.iptables
/etc/sysconfig/scripts/SuSEfirewall2-custom
FW_CUSTOMRULES
/etc/sysconfig/SuSEfirewall2
/sbin/SuSEfirewall2
/etc/sysconfig/scripts/SuSEfirewall2-custom
온라인에서 유용한 정보를 많이 찾지 못했고 이 문제를 해결하는 방법을 잘 모르겠습니다. 나는 분명한 것을 놓치고 있습니까? 내가 시도해야 할 사항에 대한 제안도 환영합니다.
이상적으로는 이 문제를 완전히 버리고 순수한 스크립트로 교체하는 SuseFirewall2
것보다 설정에서 이 문제를 수정 하고 싶습니다 .iptables
답변1
고쳐 쓰다
이 주요 세부정보를 놓쳤습니다. 리디렉션하고 싶습니다.같은 기계에.SuSEFirewall2는 실제로 이것을 지원하지 않습니다..
따라서 별칭 인터페이스를 생성하고 실제 인터페이스에서 별칭으로 리디렉션하거나 기존 iptables
규칙을 적절한 스크립트에 넣습니다.
이는 /etc/sysconfig/network/scripts/firewall
"net-reconfig-done" 섹션에 있을 수 있습니다:
net-reconfig-done)
[ "$FIREWALL" = 'yes' ] || exit 2
sfw2_active || exit 3
/sbin/SuSEfirewall2 --bootunlock start
/usr/sbin/iptables ...YOUR_RULES...
그러나 다음 업그레이드 중에 덮어쓰여질 위험이 있습니다. 또는 실행 레벨 5에 있다고 가정하고 init.d에서 사용자 정의 실행 가능 시작 스크립트를 준비합니다(기존 스크립트 중 하나에서 복사할 수 있음).
# runlevel
5
그런 다음 rc5.d를 사용하고
/etc/init.d/rc5.d/S55Redirector
스크립트의 주요 부분은 다음과 같습니다.
case "$1" in
start)
echo -n "Applying redirect rules"
/usr/sbin/iptables ...YOUR_RULES...
/usr/sbin/iptables ...YOUR_RULES...
/usr/sbin/iptables ...YOUR_RULES...
rc_status -v
;;
오래된 답변
제대로 작동하는지 확인하는 가장 빠른 방법은 설정부터 시작하는 것입니다 yast
.
루트 쉘에서:
yast
왼쪽 메뉴에서 "보안"을 선택하고 오른쪽의 "방화벽"부터 시작합니다.
허용된 서비스에서 수락해야 하는 서비스를 추가합니다.
특정 SuSE 버전에 따라 "Masquerading"으로 이동합니다. 여기서 대상 호스트와 대상 포트를 지정할 수 있어야 합니다.
다행스럽게도 내 유일한 LEAP 시스템과 유일한 다른 LEAP 시스템은 집에 있고 현재 종료되었으며 다른 시스템에는 방화벽이 없으므로 세 번째 스크린샷을 확인하거나 제공할 수 없습니다.
귀하의 사용자 정의 규칙이 올바른 것 같지만 구성 파일(여기에 있어야 함 /etc/sysconfig/SuSEfirewall2.d/services
)에서 수신 패킷을 허용하는 것을 잊어버렸습니다. 그래도 작동하지 않으면 나에게 답장을 보낼 수 있습니다([이메일 보호됨]) 목요일 이후에 집에 갈 거예요.