LINUX.ORG.RU

Сообщения r0mari0

 

Настройка интересного «маршрутизатора» на CentOS 7

Доброго времени суток! Опять я за помощью

В общем, опишу ситуацию, что есть, что нужно сделать.

Что есть:

А есть 5 ПК (Windows7) с такими сетевыми настройками:

  • ПК1: IP: 192.168.1.1 Маска: 255.255.255.0 Шлюз: 192.168.1.254
  • ПК2: IP: 192.168.1.2 Маска: 255.255.255.0 Шлюз: 192.168.1.254
  • ПК3: IP: 192.168.2.1 Маска: 255.255.255.0 Шлюз: 192.168.2.254
  • ПК4: IP: 192.168.2.2 Маска: 255.255.255.0 Шлюз: 192.168.2.254
  • ПК5: IP: 192.168.2.3 Маска: 255.255.255.0 Шлюз: 192.168.2.254

Соответственно, эти компы подключены к маршрутизаторам у которых есть отслеживание MAC=>IP и при неверном движении порт закрывается...

Что нужно сделать: Необходимо настроить собственную сеть. И все бы ничего но:

  • Настройки ПК1-ПК5 менять нельзя((
  • Реализовать доступ к интернету (внешнему миру) так: ПК1 ходит через интерфейс enp2s1, …, ПК5 – enp2s5.

Было решено взять комп с 6-ю сетевыми интерфейсами (установлен CentOS 7) и свитч (в который будут подключены эти 5ПК+сервер-маршрутизатор (ПК с 6-ю сетевыми картами)+еще какое-то оборудование)

Как я это все представлял себе: на ПКs (сервер-маршрутизатор) 1 интерфейс, пусть будет enp2s0, будет смотреть в новую сеть и иметь два IP (IP1=192.168.1.254/24, IP2=192.168.2.254/24), а остальные 5 будут подключаться к старым портам маршрутизаторов и будут иметь настройки как у тех компов, пускай: enp2s1=ПК1, enp2s2=ПК2, enp2s3=ПК3, enp2s4=ПК4, enp2s5=ПК5.

Реально ли это все сделать? Если да, то каким образом, в чем? Хоть направление дайте, может кто-то делал что-то похожее и есть ссылки))

PS:Похожее уже делал, использовал iptables и таблицы маршрутизации, но я менял настройки ПК1-ПК5

Заранее всем огромное спасибо ;)

 ,

r0mari0
()

Что-то пошло не так... 1 интерфейс с lan в 3 интерфейса одной подсети.

Есть: 1.Машина на centos с 4-мя сетевыми интерфейсами (1 смотрит во внутреннюю сеть (enp2s5) и 3 во внешнюю (enp2s0, enp2s1, enp2s2)(PS: все 3 в одной подсети и есть привязка ip-MAC)) 2 5ПК во внутренней сети.

Как можно реализовать доступ из внутренней сети, причем чтоб 2 ПК ходили через интерфейс enp2s0, 1ПК – enp2s1, 2ПК – enp2s2, была подмена ip-адресов.

IPTABLES:

#!/bin/bash

#obyavlenie peremennux

export IPT=«iptables»

export WAN_0=enp2s0

export WAN_1=enp2s1

export WAN_2=enp2s2

export LAN1=enp2s5

export LAN1_IP_0=192.168.251.169

export LAN1_IP_1=192.168.251.173

export LAN1_IP_2=192.168.251.172

export LAN1_IP_3=192.168.251.25

export LAN1_IP_4=192.168.251.26

$IPT -A FORWARD -i $LAN1 -o $WAN_0 -j ACCEPT

$IPT -A FORWARD -i $LAN1 -o $WAN_1 -j ACCEPT

$IPT -A FORWARD -i $LAN1 -o $WAN_2 -j ACCEPT

$IPT -t nat -A POSTROUTING -o $WAN_0 -s $LAN1_IP_0 -j MASQUERADE

$IPT -t nat -A POSTROUTING -o $WAN_0 -s $LAN1_IP_3 -j MASQUERADE

$IPT -t nat -A POSTROUTING -o $WAN_1 -s $LAN1_IP_1 -j MASQUERADE

$IPT -t nat -A POSTROUTING -o $WAN_2 -s $LAN1_IP_2 -j MASQUERADE

$IPT -t nat -A POSTROUTING -o $WAN_2 -s $LAN1_IP_4 -j MASQUERADE

/sbin/iptables-save > /etc/sysconfig/iptables

После данных манипуляций начинает работать 2 ПК по интерфейсу enp2s0 остальные молчат...

Подозреваю, что надо настроить маршрутизацию, пробую сделать таким образом :

#!/bin/bash

#LAN interface

IF0=«enp2s5»

# WAN interface 1

IF1=«enp2s0»

# WAN interface 2

IF2=«enp2s1»

# WAN interface 3

IF3=«enp2s2»

IP1=«192.168.35.169»

IP2=«192.168.35.173»

IP3=«192.168.35.172»

# gateway 1, 2, 3

P=«192.168.35.254»

# LAN netmask

P0_NET=«192.168.251.0/24»

# WAN1 netmask

P1_NET=«192.168.35.169/24»

# WAN2 netmask

P1_NET=«192.168.35.173/24»

# WAN3 netmask

P1_NET=«192.168.35.172/24»

TBL1=«provider1»

TBL2=«provider2»

TBL3=«provider3»

echo «1 provider1» >> /etc/iproute2/rt_tables

echo «2 provider2» >> /etc/iproute2/rt_tables

echo «3 provider3» >> /etc/iproute2/rt_tables

ip route add $P1_NET dev $IF1 src $IP1 table provider1 > /dev/null 2>&1

ip route add default via $P1 tables provider1 > /dev/null 2>&1

ip route add $P2_NET dev $IF2 src $IP2 table provider2 > /dev/null 2>&1

ip route add default via $P2 tables provider2 > /dev/null 2>&1

ip route add $P3_NET dev $IF3 src $IP3 table provider3 > /dev/null 2>&1

ip route add default via $P3 tables provider2 > /dev/null 2>&1

ip route add $P1_NET dev $IF1 src $IP1 > /dev/null 2>&1

ip route add $P2_NET dev $IF2 src $IP2 > /dev/null 2>&1

ip route add $P3_NET dev $IF3 src $IP3 > /dev/null 2>&1

ip route add default via $P1 > /dev/null 2>&1

ip rule add from $IP1 table $TBL1 > /dev/null 2>&1

ip rule add from $IP2 table $TBL2 > /dev/null 2>&1

ip rule add from $IP3 table $TBL3 > /dev/null 2>&1

ip route add $P0_NET dev $IF0 table $TBL1 > /dev/null 2>&1

ip route add $P2_NET dev $IF2 table $TBL1 > /dev/null 2>&1

ip route add $P3_NET dev $IF3 table $TBL1 > /dev/null 2>&1

ip route add 127.0.0.0/8 dev lo table $TBL1 > /dev/null 2>&1

ip route add $P0_NET dev $IF0 table $TBL2 > /dev/null 2>&1

ip route add $P1_NET dev $IF1 table $TBL2 > /dev/null 2>&1

ip route add $P3_NET dev $IF3 table $TBL2 > /dev/null 2>&1

ip route add 127.0.0.0/8 dev lo table $TBL2 > /dev/null 2>&1

ip route add $P0_NET dev $IF0 table $TBL3 > /dev/null 2>&1

ip route add $P2_NET dev $IF2 table $TBL3 > /dev/null 2>&1

ip route add $P1_NET dev $IF1 table $TBL3 > /dev/null 2>&1

ip route add 127.0.0.0/8 dev lo table $TBL3 > /dev/null 2>&1

iptables -t nat -F POSTROUTING

ip route delete default

ip route add default scope global nexthop via $P dev $IF1 weight 1 nexthop via $P dev $IF2 weight 1 nexthop via $P dev $IF3 weight 1

НЕ ПОМОГЛО... (Думал что с интерфейса enp2s5 будет делать запросы к интерфейсам enp2s0,1,2 и iptables будет «фильтровать» согласно своих правил) (Знание linux стремиться к 0)...

 ,

r0mari0
()

RSS подписка на новые темы