배경
여러 개인 네트워크에 대해 CentOS7 및 방화벽을 실행하는 NAT 호스트의 적절한 구성에 대한 정보를 얻기 위해 웹에서 검색하고 검색했습니다.
나는 가장 중요한 문제가 있는 작업 환경을 가지고 있습니다. 즉, 모든 호스트가 NAT 호스트를 통해 인터넷에 액세스할 수 있습니다.
그러나 어떤 단계에서 무엇을 수행하는지, 모든 개인 호스트가 다른 모든 개인 서브넷과 통신할 수 있는 이유를 이해하고 싶습니다. 나는 처음에 개인 호스트가 나머지 개인 네트워크로부터 격리될 것이라고 가정했지만 이제는 내 구성이 네트워크의 개인 측면을 서로에게 개방한다는 것을 이해(또는 가정)합니다.
질문
firewalld
TL;DR 매뉴얼처럼 읽히지 않는 최고의 리소스는 무엇입니까?아래 설명된 대로 NAT 호스트를 구성할 때 내가 제공한 FORWARD 및 ACCEPT 규칙을 통해 위의 네트워크가 NAT 게이트웨이에 알려진 모든 개인 네트워크와 통신할 수 있다는 것을 올바르게 이해하고 있습니까?
호스트 01
: CentOS7 firewalld
(호스트 01)을 실행하는 게이트웨이(VMware Fusion)
- ens33(공용 네트워크, 192.168.0.200/24)
- ens37(개인 네트워크 #1 - 192.168.1.200/24)
- ens38(개인 네트워크 #2 - 192.168.11.1 )/24)
- ens39 (사설망 #3 - 192.168.12.1/24)
표적:
- 나는 모든 개인 네트워크에 대해 일반 NAT 서비스를 원할 뿐만 아니라(잘 작동함) 개인 네트워크 #2와 #3만 서로 통신하도록 허용하고 싶습니다.
- 나는 지금은 그들(#2 또는 #3)이 네트워크 #1과 통신하는 것을 원하지 않습니다.
세부 정보 - 방화벽 및 호스트 구성 단계를 완료했습니다.
전달 허용/etc/sysctl.conf
다음 내용으로 파일을 수정했습니다 .
net.ipv4.ip_forward=1
sysctl.conf 를 다시 로드한 후 값이 1이므로 sysctl -p
활성화되어 있는지 확인합니다 ./proc/sys/net/ipv4/ip_forward
지역 추가
firewall-cmd --permanent --add-zone=vmnet3
firewall-cmd --permanent --add-zone=vmnet4
적절한 영역에 인터페이스를 추가합니다.
firewall-cmd --permanent --zone=public --add-interface=ens33
firewall-cmd --permanent --zone=internal --add-interface=ens37
firewall-cmd --permanent --zone=vmnet3 --add-interface=ens38
firewall-cmd --permanent --zone=vmnet4 --add-interface=ens39
위장을 켜세요
firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o ens33 -j MASQUERADE
사설망(내부 영역)에 대한 규칙이 추가되었습니다.
NAT 호스트가 트래픽을 인터넷으로 라우팅할 수 있다는 것이 맞습니까? 개인 네트워크(ens37, 38 및 39 인터페이스) 간의 인트라넷 통신에 영향을 줍니까?
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens37 -o ens33 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens33 -o ens37 -m state --state RELATED,ESTABLISHED -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens38 -o ens33 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens33 -o ens38 -m state --state RELATED,ESTABLISHED -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens39 -o ens33 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens33 -o ens39 -m state --state RELATED,ESTABLISHED -j ACCEPT