인터페이스와 NAT 간 라우팅(IP 별칭)

인터페이스와 NAT 간 라우팅(IP 별칭)

서버가 2개 있는데 둘 다 스위치0(VLAN 없음)으로 연결합니다. server1에는 NIC가 2개 있습니다.

eth0 --> switch0
ppp0 --> modem --> internet
cat /proc/sys/net/ipv4/ip_forward 1

192.168.1.0/24
192.168.1.212 netmask 255.255.255.0

노선:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
10.10.10.0      10.10.10.1      255.255.255.0   UG    0      0        0 tun0
10.10.10.1      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
151.7.202.72    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
172.16.212.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.116.0   0.0.0.0         255.255.255.0   U     0      0        0 vmnet8

서버2는 다음과 같습니다:

192.168.1.0/24
192.168.1.252 netmask 255.255.255.0 --> switch0

LAN 3개, NICS 3개:

192.168.1.0/24 netmask 255.255.255.0 --> switch0
192.168.2.0/24 netmask 255.255.255.0 --> switch1
193.168.3.0/24 netmask 255.255.255.0 --> switch2

노선:

Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.212      UGS         0   168553   bge0
10.10.10.0/24      10.10.10.1         UGS         0        0   tun0
10.10.10.1         link#12            UH          0        0   tun0
10.10.10.2         link#12            UHS         0        0    lo0
127.0.0.1          link#10            UH          0     1897    lo0
192.168.1.0/24     link#1             U           0    42375   bge0
192.168.1.252      link#1             UHS         0        4    lo0
192.168.2.0/24     link#7             U           0   117807    rl0
192.168.2.252      link#7             UHS         0        0    lo0
192.168.3.0/24     link#8             U           0   161828    rl1
192.168.3.252      link#8             UHS         0        0    lo0

192.168.1.0/24에서 다른 모든 LAN으로의 라우팅을 생성해야 합니다.

server2에서 IP 별칭을 사용해야 합니까?

답변1

실제로는 매우 쉽습니다.

서버 2에서: /etc/sysctl.conf 파일을 편집(sudo로)하고 다음 줄을 찾습니다.

  #net.ipv4.ip_forward=1

주석을 해제하고,

  net.ipv4.ip_forward=1

파일을 저장하고 다음 명령을 실행하십시오.

  sudo sysctl -p

이는 단순히 패킷이 한 NIC에서 다른 NIC로 전달되도록 커널에 지시하는 것입니다.

또한 반환 패킷이 server2를 통해 올바르게 라우팅될 수 있도록 NAT를 구성해야 합니다. 이것을 발행하십시오:

  sudo iptables -t nat  -A POSTROUTING -o rl0 -j MASQUERADE
  sudo iptables -t nat  -A POSTROUTING -o rl1 -j MASQUERADE

이는 기본 iptables 정책이 모두 ACCEPT라고 가정합니다. 이것이 올바르지 않으면 방화벽에 구멍을 몇 개 더 뚫어야 합니다.

이제 서버 1로 이동합니다. 다음 명령을 실행합니다.

  sudo route add -net 192.168.2.0/24 default gw 192.168.1.252
  sudo route add -net 192.168.3.0/24 default gw 192.168.1.252

이 두 명령은 단순히 server1에 192.168.2.0/24 또는 192.168.3.0/24로 향하는 패킷을 찾으면 패킷을 server2로 라우팅해야 하며 이를 처리하도록 지시하는 것입니다.

192.168.2.0/24 또는 192.168.3.0/24의 클라이언트가 server2를 통해 192.168.1.0에 액세스할 수 있도록 할지 여부를 지정하지 않았습니다. 그렇다면 추가하세요.

  sudo iptables -t nat -A POSTROUTING -o bge0 -j MASQUERADE

방화벽에.

마지막으로 서브넷 192.168.2.0/24 및 192.168.3.0/24가~ 아니다이는 다른 경로를 통해 Server1에 연결되어 있습니다. 이는 구성에 폐쇄 루프가 있음을 의미하므로 이를 적절하게 처리하려면 일부 고급 장비가 필요합니다.

관련 정보