글쎄요, 사진 한 장이 천 마디 말보다 낫습니다. 프라이빗 서브넷 3개:
+-----+ +-----+
| PC2 | | PC3 |
Linux | .2 | | .3 |
__ +----------+ +-----+ +-----+
i \ | .1| | |
n ) +-----+ | ------|-----+----------+-----
t ( | | 192.168.0.0/24 |.1/ / |eth1 192.168.1.0/24
e > ----|FW .2|------------------| < LR X |
r ( | | eth0| \ \ |eth2 192.168.2.0/24
n ) +-----+ | ------|-----+----------+-----
e__/ | .1| | |
+----------+ +-----+ +-----+
Router | .4 | | .5 |
| PC4 | | PC5 |
+-----+ +-----+
리눅스 라우터:
ifcace eth0 inet static
address 192.168.0.1/24
gateway 192.168.0.2
dns-nameservers 8.8.8.8
ifcace eth1 inet static
address 192.168.1.1/24
ifcace eth2 inet static
address 192.168.2.1/24
PCx(..1.x):
ifcace eth0 inet static
address 192.168.1.x/24
gateway 192.168.1.1
dns-nameservers 8.8.8.8
PCx(..2.x):
ifcace eth0 inet static
address 192.168.2.x/24
gateway 192.168.2.1
dns-nameservers 8.8.8.8
LR
# echo "1" > /proc/sys/net/ipv4/ip_forward
# ip route list
default via 192.168.0.2 dev eth0 onlink
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.1
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1
192.168.2.0/24 dev eth2 proto kernel scope link src 192.168.2.1
Linux 라우터는 쉽게 FW를 ping하고 공용 인터넷과 통신할 수 있습니다. LR은 모든 PC에 ping을 보낼 수도 있습니다. PCx는 192.168.0.1
주소를 ping할 수 있지만 FW를 ping할 수는 없습니다 192.168.0.2
(호스트에 액세스할 수 없음).
192.168.1.0/24
과 사이에 라우팅 할 의도는 없지만 192.168.2.0/24
FW를 통해 공용 인터넷에 연결하려는 강한 바람이 있습니다. iptables NAT를 사용하면 두 개의 방화벽을 직렬로 구성하는 것이 가능하다는 것을 알고 있지만 그것이 우리에게 필요한 것은 아닙니다. 간단한 정적 경로를 선호합니다.
"IP 규칙"을 설정하는 데 도움이 될 수 있는 메모를 검색했지만 방법을 이해하지 못했습니다.
제발, 예상되는 라우팅을 설정하기 위한 구성이 무엇인지 알려주실 수 있나요?
ip route
잠재적으로 강력한 도구이지만 예제가 포함된 몇 가지 명확한 튜토리얼이 매우 도움이 될 것입니다.
답변1
NAT(Network Address Translation)는 로컬 LAN IP가 무엇인지 특별히 신경 쓰지 않습니다. 알고 있는 것은 외부 인터페이스에서 인터넷으로 전달되는 모든 트래픽이 외부 인터페이스의 공용 IP와 일치하는 IP 패킷의 "발신" 주소를 전달해야 한다는 것입니다.펌웨어. 따라서 차트가 작동하지 않을 이유가 없습니다.나가는운송.
그러나 트래픽이 다시 돌아오면 다시 "대상" IP 주소를 전달합니다.펌웨어외부 인터페이스의 경우 NAT는 NAT 테이블에 기록된 원래 192.168.X.0/24 주소와 일치하도록 "To" 주소를 성실하게 변환합니다. 여기서 문제가 시작됩니다. 원래 주소가 192.168.0.x/24라면 문제 없습니다.펌웨어해당 네트워크에는 인터페이스가 있으므로 이러한 호스트에 직접 연결하는 방법을 알고 있습니다.
하지만 원래 IP가 192.168.1.x 또는 192.168.2.x인 경우펌웨어이 IP가 어디에 있는지 모릅니다. 두 네트워크 모두에 인터페이스가 없으므로 직접 액세스할 수 없습니다.펌웨어(당신이 말하지 않는 한) 이러한 IP가 다시 라우팅되어야 한다는 것을 모릅니다.LR~하도록 하다LR전달할 수 있습니다.
이 문제를 해결하는 방법은 고정 경로를 설정하는 것입니다.펌웨어네트워크 192.168.1.0/24 및 192.168.2.0/24의 트래픽을 라우팅할 위치를 알려줍니다. 즉, 두 네트워크를 모두 192.168.0.1로 라우팅합니다.
귀하의 의견에 NAT 기능을 사용할 수 있다고 나와 있는 것을 고려하면펌웨어그러나 라우팅 테이블은 변경할 수 없습니다. 가장 간단한 구성은 변경하는 것입니다.LR라우터 역할부터 브리지 역할까지. 브리지는 네트워크 스위치와 거의 같은 방식으로 (각 브리지 인터페이스에 있는 MAC 주소를 학습하여) 동일한 네트워크 브로드캐스트 도메인에 있는 여러 호스트를 연결한다는 점을 기억하세요.
라우터를 재구성하는 경우LR다리로서파운드(브리지 eth0, eth1 및 eth2), 전체적으로 192.168.0.x/24 IP를 사용하고 192.168.0.2를 모든 호스트의 기본 게이트웨이로 설정한 다음펌웨어NAT 트래픽을 전달할 뿐만 아니라 트래픽이 다시 돌아올 때 문제 없이 192.168.0.X 네트워크로 다시 전달합니다.