.png)
У меня есть 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 через другой маршрут, поскольку это будет означать, что в вашей конфигурации есть замкнутые контуры, для правильной обработки которых требуются некоторые продвинутые инструменты.