Centos 7 - 방화벽 - Firewall-cmd를 사용하여 트래픽 전달

Centos 7 - 방화벽 - Firewall-cmd를 사용하여 트래픽 전달

eth0일부 호스트 네트워크 A(인터페이스 뒤)의 트래픽이 내 centos 7 상자를 통해 네트워크 B(뒤의 일부 호스트)에 도달하도록 허용하려면 어떻게 해야 합니까 eth1?

네트워크 A:1.1.1.0/24

네트워크 B:2.2.2.0/24

방화벽 인터페이스:

이더넷 1:1.1.1.1

이더리움 2:2.2.2.1

소스 호스트:1.1.1.30

목적지:2.2.2.45 port 80/tcp and 2.2.2.46 port 80/tcp

전달을 켜고 비활성화하면 iptables에서 웹 서버에 액세스할 수 있습니다 1.1.1.30.

어떻게 이를 달성할 수 있습니까 firewall-cmd?

답변1

FirewallD와 IPTABLES 서비스는 동시에 공존할 수 없으므로 먼저 IPTABLES 서비스를 비활성화해야 합니다.

IPTABLES를 비활성화하려면 다음을 실행하십시오.# systemctl stop iptables

다음으로 FirewallD 서비스가 활성화되어 시작되었는지 확인하세요.

# systemctl start firewalld && systemctl enable firewalld

이제 기본적으로 방화벽에서 사용할 수 있는 특정 네트워크 영역에 사용 가능한 각 인터페이스(이 경우 eth0 및 eth1)를 할당해야 합니다.

가정: eth0은 내부 영역(네트워크-A) 및 eth1은 공개 영역(네트워크-B). 이것을 할 수 있어야 한다;

# firewall-cmd --permanent --zone=internal --add-interface=eth0

# firewall-cmd --permanent --zone=public --add-interface=eht1

이제 방화벽 설정이 완료되었습니다. 예를 들어 규칙 구성과 관련하여 호스트의 http 트래픽이 상주하도록 허용합니다.네트워크-A내부 영역에 인바운드 규칙을 설정해야 합니다.

# firewall-cmd --permanent --zone=internal --add-service=http

또한 네트워크 B로 전송될 때 IP 주소를 변환하려면 공개 영역에서 가장 무도회를 활성화해야 합니다.

# firewall-cmd --permanent --zone=public --add-masquerade

마지막으로 변경 사항을 적용하려면 FirewallD 데몬을 다시 로드하세요.

# firewall-cmd --reload

내부 영역의 규칙과 같은 영역의 규칙 나열

# firewall-cmd --zone=internal --list-all

관련 정보