• CentOs 8 маршрутизация с двумя активными gateway?

    @jamezbond Автор вопроса
    Владимир, Благодарю вас! Очень помогли и все встало на свои места. На самом деле странно то, что в центос 6 было достаточным указать 2 разных маршрута в таблицах и их гейтвеи и соответственно при обращении не к дефолтному пакеты уходили обратно именно с него. Теперь эта схема не работает, думаю, что даже в 7 оси уже будет тоже самое.
    "то что вы добавил два шлюза они будут по очереди выбиратся и это может привести к неожиданной работе сайтов и приложений у клиентов в локальной сети." - это просто эксперимент и учения ради =)
    "ip rule add from 192.168.0.166 table T1" - именно это и было собственно тем, что нужно и натолкнуло на определенные мысли, спасибо большое еще раз!
  • CentOs 8 маршрутизация с двумя активными gateway?

    @jamezbond Автор вопроса
    ip route replace default scope global nexthop via 217.xxx.xxx.217 dev enp6s0 weight 1 nexthop via 192.168.59.1 dev enp7s0 weight 1

    вот в таком варианте я вроде как могу достучаться до 217 и локалке, НО, получается, что работает одновременно 2 шлюза и фиг пойми кто из локалки и как идет в интернет. Очень не хорошо все это
  • CentOs 8 маршрутизация с двумя активными gateway?

    @jamezbond Автор вопроса
    Собственно я же итак пробрасываю 192.168.0.166 через 217.ххх.ххх.218 - или что конкретно вы имеете в виду, что-то я не совсем пойму эту фразу:
    простой - 192.168.0.166 натить в интернет через 217.xxx.xxx.218

    пункт 2 -сложный - маскарадить и маркировать запросы вашего шлюза к 192.168.0.166 на нужные порты чтобы потом их отправлять с нужного ип на шлюзе.
    здесь речь идет и connmark я так понимаю? или какой вариант?
    Буду очень благодарен и признателен если опишите поподробней

    "Отвечу на ваш вопрос из комментария: если ipv4 forward =0" конечно же он включен, вопрос в том, что есть еще вот такие вот моменты и они мне не совсем понятны:
    net.ipv6.conf.default.accept_redirects = 0
    net.ipv6.conf.all.accept_redirects = 0
    net.ipv4.conf.default.send_redirects = 0
    net.ipv4.conf.default.accept_redirects = 0
    net.ipv4.conf.all.send_redirects = 0
    net.ipv4.conf.all.accept_redirects = 0
  • CentOs 8 маршрутизация с двумя активными gateway?

    @jamezbond Автор вопроса
    в rttables
    101 T1
    102 T2
    (enp5s0 192.168.0.0/24, enp6s0 217.xxx.xxx.218, -первый isp enp7s0 192.168.59.2 - второй isp)
    На старте вот так вот скриптик
    #!/bin/bash
    ip route add 127.0.0.0/8 dev lo table T1
    ip route add 192.168.0.0/24 dev enp5s0 table T1
    ip route add 217.ххх.ххх.216/29 dev enp6s0 src 217.ххх.ххх.218 table T1
    ip route add default via 217.ххх.ххх.217 dev enp6s0 table T1
    ip route add 127.0.0.0/8 dev lo table T2
    ip route add 192.168.0.0/24 dev enp5s0 table T2
    ip route add 192.168.59.0/30 dev enp7s0 src 192.168.59.2 table T2
    ip route add default via 192.168.59.1 dev enp7s0 table T2
    ip route add 217.xxx.xxx.216/29 dev enp6s0 src 217.xxx.xxx.218
    ip route add 192.168.59.0/30 dev enp7s0 src 192.168.59.2
    ip route add 192.168.0.0/24 dev enp5s0 src 192.168.0.1
    ip rule add from 217.xxx.xxx.218 table T1
    ip rule add from 192.168.59.2 table T2
    ip route replace default via 192.168.59.1.
    exit 0

    после чего моя локалка идет через шлюз 2isp т.е. через 192,168,59,1, но тогда из мира при обращении на 217.ххх.ххх.218 не могу попасть в локалку на свой комп, который проброшен в iptables
    вот конгфиг iptables
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -I FORWARD -j NETFLOW
    -I INPUT -j NETFLOW
    -I OUTPUT -j NETFLOW
    -A FORWARD -m ratelimit --ratelimit-set lowusersout --ratelimit-mode src -j DROP
    -A FORWARD -m ratelimit --ratelimit-set lowusersin --ratelimit-mode dst -j DROP
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -i enp5s0 -j ACCEPT
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -m state --state INVALID -j DROP
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
    -A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 123 -j ACCEPT
    -A INPUT -p udp -m state --state NEW -m udp --dport 123 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 143 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 465 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 993 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 995 -j ACCEPT
    -A INPUT -p udp -m state --state NEW -m udp --dport 3702 -j ACCEPT
    -A INPUT -s 192.168.0.0/24 -p udp -m udp --dport 137 -j ACCEPT
    -A INPUT -s 192.168.0.0/24 -p udp -m udp --dport 138 -j ACCEPT
    -A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 139 -j ACCEPT
    -A INPUT -p tcp -s 192.168.0.0/24 --dport 5357 -j ACCEPT
    -A INPUT -p tcp -s 192.168.0.0/24 --sport 5357 -j ACCEPT
    -A INPUT -p tcp --dport 5357 -j ACCEPT
    -A INPUT -s 192.168.0.0/24 -d 239.255.255.250 -m pkttype --pkt-type multicast -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -p icmp -j ACCEPT
    -A FORWARD -i lo -j ACCEPT
    -A FORWARD -i enp5s0 -j ACCEPT
    -A FORWARD -s 192.168.0.0/24 -d 239.255.255.250 -m pkttype --pkt-type multicast -j ACCEPT
    -A FORWARD -d 192.168.0.2/32 -i enp6s0 -p tcp -m tcp --dport 9011 -j LOG --log-level debug - камеры с двра чтобы смотреть с мира офис
    -A FORWARD -d 192.168.0.2/32 -i enp6s0 -p udp -m udp --dport 9011 -j LOG --log-level debug
    -A FORWARD -d 192.168.0.166/32 -i enp6s0 -p tcp -m tcp --dport 53388 -j LOG --log-level debug - компы в локалке для доступа по rdp
    -A FORWARD -d 192.168.0.166/32 -i enp6s0 -p udp -m udp --dport 53388 -j LOG --log-level debug
    -A FORWARD -d 192.168.0.2/32 -i enp6s0 -p tcp -m tcp --dport 9011 -j ACCEPT
    -A FORWARD -d 192.168.0.2/32 -i enp6s0 -p udp -m udp --dport 9011 -j ACCEPT
    -A FORWARD -d 192.168.0.166/32 -i enp6s0 -p tcp -m tcp --dport 53388 -j ACCEPT
    -A FORWARD -d 192.168.0.166/32 -i enp6s0 -p udp -m udp --dport 53388 -j ACCEPT
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    # Completed on Sun Aug 16 22:34:45 2020
    # Generated by iptables-save v1.8.4 on Sun Aug 16 22:34:45 2020
    *nat
    :PREROUTING ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A PREROUTING -d 217.xxx.xxx.218/32 -i enp6s0 -p tcp -m tcp --dport 9011 -j DNAT --to-destination 192.168.0.2:9011
    -A PREROUTING -d 217.xxx.xxx.218/32 -i enp6s0 -p udp -m udp --dport 9011 -j DNAT --to-destination 192.168.0.2:9011
    -A PREROUTING -d 217.xxx.xxx.218/32 -i enp6s0 -p tcp -m tcp --dport 53388 -j DNAT --to-destination 192.168.0.166:53388
    -A PREROUTING -d 217.xxx.xxx.218/32 -i enp6s0 -p udp -m udp --dport 53388 -j DNAT --to-destination 192.168.0.166:53388
    -A POSTROUTING -m mark --mark 0x9 -j MASQUERADE
    COMMIT
    # Completed on Sun Aug 16 22:34:45 2020
    # Generated by iptables-save v1.8.4 on Sun Aug 16 22:34:45 2020
    *mangle
    :PREROUTING ACCEPT [0:0]
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    :POSTROUTING ACCEPT [0:0]
    -A PREROUTING -i enp5s0 -j MARK --set-xmark 0x9/0xffffffff
    COMMIT

    Есть подозрение, что в centos8 по умолчанию выключены опции в ядре, ipv4 forward =1, но что еще нужно включить в ядре чтобы это работало? Может быть какие-то опции которые теперь по умолчанию выключены...
    В общем непонятно, в тупике что-то. Пока по умолчанию gw 217.ххх.ххх.218 работает все отлично, из мира захожу на свой комп в локалке и вижу камеры, как только меняю gw на 192,168,59,1 из мира вижу только apache на 217.ххх.ххх.218, nfsen/mrtg и т.д. но дальше в локалку к компу и камерам попасть не могу