маршрутизация между интерфейсами и nat (IP-алиасинг)

маршрутизация между интерфейсами и nat (IP-алиасинг)

У меня есть 2 сервера, оба подключены через switch0 (без vlan), у server1 есть 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

с 3 локальными сетями, 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 во все остальные локальные сети.

Стоит ли использовать IP-алиасинг на сервере server2?

решение1

На самом деле это довольно просто.

На сервере 2: отредактируйте (как sudo) файл /etc/sysctl.conf, найдите эту строку

  #net.ipv4.ip_forward=1

и раскомментируйте его,

  net.ipv4.ip_forward=1

Сохраните файл, введите команду:

  sudo sysctl -p

Это просто указание ядру разрешить передачу пакетов от одной сетевой карты к другой.

Также нам нужно настроить на нем NAT, чтобы обратные пакеты можно было корректно направлять через server2. Выдаем это:

  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 могли получить доступ к 192.168.1.0 через server2. Если вы это сделаете, то добавьте

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

к вашему брандмауэру.

Наконец, я очень надеюсь, что подсети 192.168.2.0/24 и 192.168.3.0/24нетподключен к Server1 через другой маршрут, поскольку это будет означать, что в вашей конфигурации есть замкнутые контуры, для правильной обработки которых требуются некоторые продвинутые инструменты.

Связанный контент