Назад | Перейти на главную страницу

Как настроить правила iptables для подключения 2 eth к сети (пересылка и маскарадинг)

нужна помощь в настройке правила iptables для перенаправления и маскарадинга

Учитывая, что у меня есть эта конфигурация:

переключатель1 ---- (eth1) ----- маршрутизатор ---- (eth2) ----- переключатель2
|
|
(eth0)
|
|
                                      Интернет

где несколько ПК подключены через switch1 и switch2

Я запускаю эту сеть на сервере Ubuntu, где я предполагаю, что eth1 и eth2 имеют одинаковый IP-адрес, поскольку шлюзом по умолчанию для всех подключенных компьютеров является IP-адрес этого маршрутизатора.

Итак, что я сделал:

  • перейти к /etc/sysctl.conf и раскомментируйте net.ipv4.ip_forward = 1
  • перейти к /etc/rc.local и добавьте правила для iptables, такие как:

    эхо 1> / proc / sys / net / ipv4 / ip_forward
    iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


  • а для настройки сетевых интерфейсов маршрутизатора перейдите в / и т.д. / сеть / интерфейсы

    авто лоу
    iface lo inet loopback

    авто eth0
    iface eth0 inet статический
    адрес 10.151.74.30
    маска сети 255.255.255.252
    шлюз 10.151.74.29

    авто eth1
    iface eth1 inet static
    адрес 172.16.0.1
    маска сети 255.255.255.0

    авто eth2
    iface eth2 inet static
    адрес 172.16.0.1
    маска сети 255.255.255.0

    Проблема в том, что все ПК, подключенные к маршрутизатору через eth2, не могут подключиться к Интернету (tuntap), но все ПК, подключенные через eth1, могут.

    Итак, что я упустил при настройке iptables? Или я неправильно понял?
    Помощь и предложения очень ценятся. Я только начал изучать компьютерные сети месяц назад, так что в основном мне нужны рекомендации. Большое спасибо :)

  • У вас не может быть 2 интерфейсов с одним и тем же IP-адресом. Более того, это не будет работать так, даже если вы измените IP-адрес одного интерфейса на другой адрес в той же сети (скажем, 172.16.0.2).

    Зачем вам нужно 2 интерфейса в одной сети? Делайте переключатели переключатель1 и переключатель2 видятся или разошлись?

    Если они видят друг друга, то определенно что-то не так с вашей конфигурацией.

    Если они этого не сделают, вы можете настроить другую сеть на переключатель2, например 172.16.1.0/24, и все должно быть нормально.

    Кстати: вам не нужно echo 1 > /proc/sys/net/ipv4/ip_forward если у вас есть net.ipv4.ip_forward = 1 в /etc/sysctl.conf.