iptables를 사용하면 호스트가 VLAN을 격리할 수 있습니다.

iptables를 사용하면 호스트가 VLAN을 격리할 수 있습니다.

내 네트워크를 "간단하게" 조정하는 데 정말 어려움을 겪고 있습니다. 그래서:

  • 두 개의 사이트 A와 B가 IPsec을 통해 연결되어 있으며 이들 사이의 통신에는 문제가 없습니다.
  • 각 사이트에는 기본 VLAN과 게스트 VLAN이라는 두 개의 VLAN이 있습니다. 기본 VLAN은 192.168.55.0/24A와 B에 사용되고 192.168.88.0/24게스트는 192.168.10.0/24둘 다에 사용됩니다.
  • VLAN은 다음 규칙에 따라 각 라우터에서 격리됩니다(A의 예).

iptables -A forward -s 192.168.10.0/24 -d 192.168.55.0/24 -j DROP

이제 질문은 A/guest의 특정 호스트가 B/main의 특정 호스트에 도달하도록 허용하고 싶습니다. 어떻게 해야 하나요?

입력을 시도했지만 iptables -A forward -s 192.168.10.10 -d 192.168.55.55 -j ACCEPT작동하지 않습니다. 일부 패킷을 볼 수 있지만 연결이 작동하지 않습니다(SSL 443을 사용하는 웹서버입니다). 맹글/포스트라우팅 체인에 뭔가를 추가해야 할 것 같은데요?

감사해요

답변1

문제는 두 게스트 네트워크가 동일한 주소 범위를 공유한다는 것입니다. 규칙이 하나만 있는 경우 forwardA/guest의 패킷은 B/main의 대상에 도달하지만 반환 패킷은 물리적으로 B/guest로 전송됩니다.

AMASQUERADE따라서 B/main의 호스트가 192.168.55.0/24소스를 확인하고 반환 패킷을 반환하는 방법을 알 수 있도록 이 연결에 라우터가 필요합니다 . 이러한 패킷이 A의 라우터에 도달하면 원래 게스트 호스트에 대상을 자동으로 다시 쓰고 이에 따라 패킷을 전달합니다.

이것은 트릭을 수행해야 합니다(사이트의 라우터에 적용됨 A).

iptables -t nat -A POSTROUTING -s 192.168.10.10 -d 192.168.55.55 -j MASQUERADE

관련 정보