Проброс трафика

Discussion in 'Linux, Freebsd, *nix' started by hiltro, 17 May 2021.

  1. hiltro

    hiltro New Member

    Joined:
    26 Apr 2019
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Есть два сервера в разных DC. Нужно чтобы весь трафик с сервера A (кроме ssh) шел через сервер В. Можно ли это сделать средствами iptables и nat?
     
  2. fandor9

    fandor9 Reservists Of Antichat

    Joined:
    16 Nov 2018
    Messages:
    607
    Likes Received:
    1,023
    Reputations:
    46
    Объясните, что вы имеете и что вы хотите достичь.
    Можно выставить роутинг на одной системе и через неё перекидывать трафик, можно поставить VPN, можно использовать как прокси, можно сделать ....
    Зависит от того какие сетевые соединения между системами, между разными DC обычно можно развернуть дополнительную виртуальную сетку.
     
  3. hiltro

    hiltro New Member

    Joined:
    26 Apr 2019
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Если коротко, то нужно чтобы первый сервер выходил в сеть с IP второго. Нужно скрыть IP первого сервера.
    Пробовал настроить роутинг. На одном сервере прописал net.ipv4.ip_forward=1 и добавил правило
    iptables -t nat -A POSTROUTING -p tcp -o ens3 -j SNAT --to-source IP_OF_CURRENT_SERVER
    Но как теперь настроить второй сервер, чтобы он использовал этот nat не разобрался.
    Между системами нет никаких соединений. Оба сервера имеют доступ в интернет со статическими IP.
     
  4. fandor9

    fandor9 Reservists Of Antichat

    Joined:
    16 Nov 2018
    Messages:
    607
    Likes Received:
    1,023
    Reputations:
    46
    ну в данном случае вы не сможете использовать роутинг напрямую. Роутинг это что-то вроде указателей дороги, и вы хотите что-бы у вас всё движение шло через вашу точку (второй сервер). НО образно говоря, при этом у вас нет прямой дороги/соединения с этой точкой.
    В общем я бы поднял Wireguard-VPN между этими двумя серверами
    https://www.wireguard.com/install/
    И затем на том сервере (1), который должен посылать всё через второй (2) поставил бы дефолтовый роутинг через второй сервер.
    Вот описанно, как прописать роутинг на первом сервере:
    https://www.wireguard.com/netns/#the-new-namespace-solution
    Только смотрите аккуратно, не удалите сами себе сетевую карту, а лучше делайте это через виртуальную консоль.
    На втором сервере тоже обратите внимание, что роутинг у вас должен быть только изнутри (допустим вайргард имеет на первом сервере адрес 10.0.0.1 и наружняя сетевая карта eth0):
    Code:
    iptables -t nat -I POSTROUTING 1 -s 10.0.0.1/32 -o eth0 -j MASQUERADE
    https://www.cyberciti.biz/faq/how-to-set-up-wireguard-firewall-rules-in-linux/
     
    hiltro likes this.
  5. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,027
    Likes Received:
    913
    Reputations:
    199
    Может вам нужно проксирование nginx? Это когда ваш контент лежит на одном серваке и отдается через проксирование на другой сервер к которому вы уже например привязываете домен и делаете его публичным. Если блокируют публичный сервер то в любом случае у вас остается оригинал.
    Либо вам нужно банально ВПН поднять? Мне не понятно ваше
    Выходил в сеть это как? чем?
    Еще вариант через прокси, если вам нужно завернуть трафик в терминале https://www.cyberciti.biz/faq/linux-unix-set-proxy-environment-variable/
     
    _________________________
Loading...