Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Несколько публичных IP-адресов с настройкой NAT

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Несколько публичных IP-адресов с настройкой NAT, Proxmox Виртуальная Среда
     
    Bueddl
    Guest
    #1
    0
    12.10.2014 15:14:00
    Сейчас я пытаюсь настроить Proxmox для работы с несколькими публичными IP через NAT. У меня несколько ВМ, и базовая настройка NAT работает. То есть я могу использовать все ВМ через IP "proxmox", который назначен на vmbr0. Вот моя текущая конфигурация:

    Код:  
    VM100 имеет внутренний IP 10.0.2.100 и подключен через мост vmbr3.  
    VM101 имеет внутренний IP 10.0.2.101 и тоже подключен через vmbr3.  
    и так далее...

    Моя NAT-конфигурация сейчас пробрасывает только 212.xx.xx.88:80 на одну ВМ и пробрасывает порты 40022, 40122, 40222 на ssh-порты ВМ. Конфиг сети /etc/network/interfaces на хосте Proxmox:

    Код:  
    auto lo  
    iface lo inet loopback  

    auto eth0  
    iface eth0 inet static  

    auto vmbr0  
    iface vmbr0 inet static  
     address 212.xx.xx.88  
     netmask 255.255.255.0  
     gateway 212.x.xx.1  
     bridge_ports eth0  
     bridge_stp off  
     bridge_fd 0  

    auto vmbr3  
    iface vmbr3 inet static  
     address 10.0.2.254  
     netmask 255.255.255.0  
     bridge_ports none  
     bridge_stp off  
     bridge_fd 0  
     post-up echo 1 > /proc/sys/net/ipv4/ip_forward  

     post-up iptables -t nat -A POSTROUTING -s '10.0.2.0/24' -o vmbr0 -j MASQUERADE  
     post-down iptables -t nat -D POSTROUTING -s '10.0.2.0/24' -o vmbr0 -j MASQUERADE  

     post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 40022 -j DNAT --to 10.0.2.100:22  
     post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 40022 -j DNAT --to 10.0.2.100:22  
     post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 40122 -j DNAT --to 10.0.2.101:22  
     post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 40122 -j DNAT --to 10.0.2.101:22  
     post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 40222 -j DNAT --to 10.0.2.102:22  
     post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 40222 -j DNAT --to 10.0.2.102:22  

     post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.0.2.101:80  
     post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.0.2.101:80  

    Эта конфигурация сейчас работает как надо. Теперь я пытаюсь добавить вторичный публичный IP и использовать его для некоторых ВМ, но не для всех. Я пытался просто сделать так, чтобы "пробросить" VM100 через вторичный IP:

    Код:  
    auto lo  
    iface lo inet loopback  

    auto eth0  
    iface eth0 inet static  

    auto vmbr0  
    iface vmbr0 inet static  
     address 212.xx.xx.88  
     netmask 255.255.255.0  
     gateway 212.x.xx.1  
     bridge_ports eth0  
     bridge_stp off  
     bridge_fd 0  

    auto vmbr1  
    iface vmbr1 inet static  
     address 212.xx.xx.98  
     netmask 255.255.255.0  
     bridge_ports eth0  
     bridge_stp off  
     bridge_fd 0  

    auto vmbr3  
    iface vmbr3 inet static  
     address 10.0.2.254  
     netmask 255.255.255.0  
     bridge_ports none  
     bridge_stp off  
     bridge_fd 0  
     post-up echo 1 > /proc/sys/net/ipv4/ip_forward  

     # VM100  
     post-up iptables -t nat -A POSTROUTING -s '10.0.2.100' -o vmbr1 -j MASQUERADE  
     post-down iptables -t nat -D POSTROUTING -s '10.0.2.100' -o vmbr1 -j MASQUERADE  
     post-up iptables -t nat -A PREROUTING -i vmbr1 -p tcp --dport 40022 -j DNAT --to 10.0.2.100:22  
     post-down iptables -t nat -D PREROUTING -i vmbr1 -p tcp --dport 40022 -j DNAT --to 10.0.2.100:22  

     # остальные  
     post-up iptables -t nat -A POSTROUTING -s '10.0.2.0/24' -o vmbr0 -j MASQUERADE  
     post-down iptables -t nat -D POSTROUTING -s '10.0.2.0/24' -o vmbr0 -j MASQUERADE  

     post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 40122 -j DNAT --to 10.0.2.101:22  
     post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 40122 -j DNAT --to 10.0.2.101:22  
     post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 40222 -j DNAT --to 10.0.2.102:22  
     post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 40222 -j DNAT --to 10.0.2.102:22  

     post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.0.2.101:80  
     post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.0.2.101:80  

    Но это вообще не работает. VM100 больше не доступна — остальные ВМ работают. Как сделать так, чтобы всё работало, как надо? Спасибо, Себастьян.
     
     
     
    kotakomputer
    Guest
    #2
    0
    30.10.2014 18:06:00
    Ты настроил vmbr0 (внешний IP) в паре с vmbr3 (внутренний IP), и всё отлично работает. Теперь тебе нужно настроить vmbr1 (внешний IP) в паре с vmbr4 (внутренний IP). Я бы советовал дать vmbrX имена по порядку, чтобы было проще запомнить, например:  
    vmbr0 (внешний IP) в паре с vmbr1 (внутренний IP) — NAT1  
    vmbr2 (внешний IP) в паре с vmbr3 (внутренний IP) — NAT2  
    vmbr4 (внешний IP) в паре с vmbr5 (внутренний IP) — NAT3  

    И каждому внутреннему IP нужно назначить разную подсеть, например: 10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24.
     
     
     
    Bueddl
    Guest
    #3
    0
    30.10.2014 23:45:00
    Большое спасибо за ответ, я всё ещё работаю над этим. Завтра попробую воспользоваться твоим вариантом! Спасибо, Себастьян
     
     
     
    Bueddl
    Guest
    #4
    0
    01.11.2014 16:34:00
    Я настроил всё согласно твоему описанию, но у меня всё равно не работает. Поскольку три внешних IP-адреса находятся в одной подсети, я не могу назначить шлюз всем трем «внешним» мостам — vmbr0, vmbr2 и vmbr4. Есть какие-то идеи?
     
     
     
    kotakomputer
    Guest
    #5
    0
    02.11.2014 07:14:00
    Как добавить дополнительные IP-адреса на eth0? Ты используешь больше одного сетевого интерфейса eth? Можешь еще раз скинуть содержимое /etc/network/interfaces.
     
     
     
    Bueddl
    Guest
    #6
    0
    02.11.2014 21:28:00
    Вот что у меня получилось пока что. Казалось, что я сделал так, как ты советовал. Или я что-то неправильно понял? Пока у меня работают только внешние сервисы в подсети 10.0.2.0/24, но это обязательно изменится, как только я всё запущу.

    Код:

    # network interface settings  
    auto lo  
    iface lo inet loopback  

    auto eth0  
    iface eth0 inet static  

    iface eth1 inet manual  

    # vmbr0 -> vmbr1  
    # xxx.xxx.26.88 -> 10.0.1.0/24  
    auto vmbr0  
    iface vmbr0 inet static  
     address  xxx.xxx.26.88  
     netmask  255.255.255.0  
     gateway  xxx.xxx.26.1  
     bridge_ports eth0  
     bridge_stp off  
     bridge_fd 0  

    auto vmbr1  
    iface vmbr1 inet static  
     address  10.0.1.254  
     netmask  255.255.255.0  
     bridge_ports none  
     bridge_stp off  
     bridge_fd 0  
     post-up echo 1 > /proc/sys/net/ipv4/ip_forward  
     post-up   iptables -t nat -A POSTROUTING -s '10.0.1.0/24' -o vmbr0 -j MASQUERADE  
     post-down iptables -t nat -D POSTROUTING -s '10.0.1.0/24' -o vmbr0 -j MASQUERADE  
     # пока здесь нет сервисов  

    # vmbr2 -> vmbr3  
    # xxx.xxx.26.98 -> 10.0.2.0/24  
    auto vmbr2  
    iface vmbr2 inet static  
     address  xxx.xxx.26.98  
     netmask  255.255.255.255  
     bridge_ports none  
     bridge_stp off  
     bridge_fd 0  

    auto vmbr3  
    iface vmbr3 inet static  
     address  10.0.2.254  
     netmask  255.255.255.0  
     bridge_ports none  
     bridge_stp off  
     bridge_fd 0  
     post-up echo 1 > /proc/sys/net/ipv4/ip_forward  
     post-up   iptables -t nat -A POSTROUTING -s '10.0.2.0/24' -o vmbr2 -j MASQUERADE  
     post-down iptables -t nat -D POSTROUTING -s '10.0.2.0/24' -o vmbr2 -j MASQUERADE  
     post-up   iptables -t nat -A PREROUTING -i vmbr2 -p tcp --dport 40022 -j DNAT --to 10.0.2.100:22  
     post-down iptables -t nat -D PREROUTING -i vmbr2 -p tcp --dport 40022 -j DNAT --to 10.0.2.100:22  
     post-up   iptables -t nat -A PREROUTING -i vmbr2 -p tcp --dport 40122 -j DNAT --to 10.0.2.101:22  
     post-down iptables -t nat -D PREROUTING -i vmbr2 -p tcp --dport 40122 -j DNAT --to 10.0.2.101:22  
     post-up   iptables -t nat -A PREROUTING -i vmbr2 -p tcp --dport 40222 -j DNAT --to 10.0.2.102:22  
     post-down iptables -t nat -D PREROUTING -i vmbr2 -p tcp --dport 40222 -j DNAT --to 10.0.2.102:22  
     post-up   iptables -t nat -A PREROUTING -i vmbr2 -p tcp --dport 80    -j DNAT --to 10.0.2.101:80  
     post-down iptables -t nat -D PREROUTING -i vmbr2 -p tcp --dport 80    -j DNAT --to 10.0.2.101:80  
     post-up   iptables -t nat -A PREROUTING -i vmbr2 -p tcp --dport 20    -j DNAT --to 10.0.2.101:20  
     post-up   iptables -t nat -A PREROUTING -i vmbr2 -p tcp --dport 21    -j DNAT --to 10.0.2.101:21  
     post-down iptables -t nat -D PREROUTING -i vmbr2 -p tcp --dport 20    -j DNAT --to 10.0.2.101:20  
     post-down iptables -t nat -D PREROUTING -i vmbr2 -p tcp --dport 21    -j DNAT --to 10.0.2.101:21  

    # vmbr4 -> vmbr5  
    # xxx.xxx.26.99 -> 10.0.3.0/24  
    auto vmbr4  
    iface vmbr4 inet static  
     address  xxx.xxx.26.99  
     netmask  255.255.255.255  
     bridge_ports none  
     bridge_stp off  
     bridge_fd 0  

    auto vmbr5  
    iface vmbr5 inet static  
     address  10.0.3.254  
     netmask  255.255.255.0  
     bridge_ports none  
     bridge_stp off  
     bridge_fd 0  
     post-up echo 1 > /proc/sys/net/ipv4/ip_forward  
     post-up   iptables -t nat -A POSTROUTING -s '10.0.3.0/24' -o vmbr4 -j MASQUERADE  
     post-down iptables -t nat -D POSTROUTING -s '10.0.3.0/24' -o vmbr4 -j MASQUERADE  
     # пока здесь нет сервисов  

    Спасибо ещё раз!  
    Sebastian
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры