이것이 이 위원회에 대한 나의 첫 번째 질문입니다.
구성이 있습니다.4개의 서브넷은 모두 서로 통신하려고 하지만 각 서브넷은 자체 ISP를 통해 인터넷에 액세스해야 합니다..
저는 5개의 네트워크 카드가 있는 CentOS7 Linux 시스템을 가지고 있으며 작은 그림을 제공했습니다. (제 그림 실력이 부족해서 죄송합니다.)
그림 오른쪽의 4개 서브넷(192.168.x0.0/24)은 서로 통신해야 합니다. 5번째 NIC에서 /30 서브넷을 사용하여 4개의 가상 인터페이스(eth 5.1, 5.2 등)를 생성했으며 각각은 ISP의 모뎀(IP는 192.168.1x0.253)과 통신합니다. 모든 ISP 모뎀은 스위치를 통해 Eth5에 연결됩니다.
지금까지 겨우 도달했어요iptables구성(정확한지 확실하지 않음):
*filter
:FORWARD DROP [0:0]
:INPUT DROP [0:0]
:OUTPUT DROP [0:0]
-A FORWARD -m state --state ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.10.0/24 -d 192.168.110.252/30 -j ACCEPT
-A FORWARD -s 192.168.20.0/24 -d 192.168.120.252/30 -j ACCEPT
-A FORWARD -s 192.168.30.0/24 -d 192.168.130.252/30 -j ACCEPT
-A FORWARD -s 192.168.40.0/24 -d 192.168.140.252/30 -j ACCEPT
-A FORWARD -s 192.168.10.0/24 -d 192.168.20.0/24 -i etg1 -o etg2 -j ACCEPT
-A FORWARD -s 192.168.10.0/24 -d 192.168.30.0/24 -i etg1 -o etg3 -j ACCEPT
-A FORWARD -s 192.168.10.0/24 -d 192.168.40.0/24 -i etg1 -o etg4 -j ACCEPT
-A FORWARD -s 192.168.20.0/24 -d 192.168.10.0/24 -i etg2 -o etg1 -j ACCEPT
-A FORWARD -s 192.168.20.0/24 -d 192.168.30.0/24 -i etg2 -o etg3 -j ACCEPT
-A FORWARD -s 192.168.20.0/24 -d 192.168.40.0/24 -i etg2 -o etg4 -j ACCEPT
-A FORWARD -s 192.168.30.0/24 -d 192.168.10.0/24 -i etg3 -o etg1 -j ACCEPT
-A FORWARD -s 192.168.30.0/24 -d 192.168.20.0/24 -i etg3 -o etg2 -j ACCEPT
-A FORWARD -s 192.168.30.0/24 -d 192.168.40.0/24 -i etg3 -o etg4 -j ACCEPT
-A FORWARD -s 192.168.40.0/24 -d 192.168.10.0/24 -i etg4 -o etg1 -j ACCEPT
-A FORWARD -s 192.168.40.0/24 -d 192.168.20.0/24 -i etg4 -o etg2 -j ACCEPT
-A FORWARD -s 192.168.40.0/24 -d 192.168.30.0/24 -i etg4 -o etg3 -j ACCEPT
COMMIT
# Completed on Sun Sep 13 17:04:45 2015
# Generated by iptables-save v1.4.21 on Sun Sep 13 17:04:45 2015
*nat
:INPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.20.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.30.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.40.0/24 -j MASQUERADE
COMMIT
현재 상태는 4개의 서브넷(192.168.x0.0/24)이 모두 서로 통신할 수 있고 모두 각 ISP의 모뎀 인터페이스에 액세스할 수 있지만(예: 192.168.10.0/24는 192.168.110.253에 액세스할 수 있음) 인터넷 트래픽이 라우팅되지 않습니다.
저는 NetworkManager를 사용하지 않고 일반 network.service만 사용합니다. IP 전달도 활성화했습니다.
소스 기반 라우팅이 필요하다고 확신하지만 평생 동안 내가 무엇을 해야 하는지 이해할 수 없습니다. 어쩌면 내가 지금까지 잘못하고 있었는지도 모릅니다.
누군가 이것을 설명할 수 있나요? 저는 웹을 처음 접했고 이 글을 게시하기 전에 인터넷 검색과 답변 검색을 시도했지만 아무 소용이 없었습니다.
시간 내 주셔서 감사합니다