Связывание двух широкополосных соединений для обслуживания LAN в качестве шлюза

Можно сократить его немного при помощи функции:

#!/bin/bash

ask()
{
  declare -g $1="$2"
  if [ -z "${!1}" ]; then
    echo "$3"
    read $1
  fi
}

ask PROJECT_DIR "$1" "Directory where project resides:"
ask SITE_NAME   "$2" "Name of the website:"
ask ADMIN_PWD   "$3" "Admin password:"
ask THEME_DIR   "$4" "Directory of the theme:"
ask THEME_NAME  "$5" "Name of the theme:"

echo "$PROJECT_DIR $SITE_NAME"

Это требует bash хотя и не будет работать в sh.

2
26.05.2014, 19:40
2 ответа
[1183508] Я бы сделал это так, как предложил Тэро в части 1 (конфигурирование с публичным IP может и не потребоваться, но я сконфигурировал сетевые карты с публичными адресами). Что касается части 2, я думаю, что должен быть лучший способ сделать это, но не уверен, как это сделать. То, что я хочу добавить, касается политической маршрутизации, поскольку приведенная ссылка не предназначена специально для этой ситуации, а также относительно маскировки, о которой, как мне кажется, не упоминалось. Добавьте строки

в /etc/iproute2/rt_tables.

on *:notify:{
  echo -s $nick has connected to $network $+ !
}

Then:

;trackee name
alias trackee return foobar

on *:connect:{
  ; start an infinite timer when we connect
  .timerCHECK_ONLINE 0 300 doWhois 
}

alias doWhois {
  ; set a flag and initiate a whois command 
  ; the flag is important to differentiate our whois from the user's
  set %docheck 1
  whois $trackee
}

raw *:*:{
  var %n = $numeric
  if (%docheck) {
    if (%n == 401) {
      echo -s [Monitor] $qt($2) is not online!
      ;clear the flag
      unset %docheck
    } 
    elseif (%n == 311) {
      ;start of whois
      echo -s [Monitor] =~=~=~=~=~=~=~= WHOIS START =~=~=~=~=~=~=~=
      echo -s [Monitor]      Nick: $2 $+([, $4, ])
      echo -s [Monitor] Real Name: $6
    }
    elseif (%n == 318) {
      ;end of whois
      echo -s [Monitor] =~=~=~=~=~=~=~=  WHOIS END  =~=~=~=~=~=~=~=
      ;clear the flag
      unset %docheck
    }
    elseif (%n == 312) {
      ; server
      echo -s [Monitor]    Server: $3 $+([, $4-,])
    }
    elseif (%n == 317) {
      ; idle time
      echo -s [Monitor]      Idle: $duration($calc($ctime - $4)) $&
        $+([, Since:, $chr(32), $asctime($4, hh:nn:ss TT mm/dd/yy), ])
    }
    ;elseif (%n == ...) add more numeric events here
    ;...

    ; stop mIRC's default text
    halt
  }
}

(если они еще не настроены) затем

[Monitor] "foobar" is not online!

then отредактируйте этот файл так, чтобы он выглядел как

[Monitor] =~=~=~=~=~=~=~= WHOIS START =~=~=~=~=~=~=~=
[Monitor]      Nick: foobar [FooNet-343F144.fooISP.net]
[Monitor] Real Name: John Doe
[Monitor]    Server: *.example.com [FooNet network]
[Monitor]      Idle: 6mins 38secs [Since: 05:19:07 PM 06/16/11]
[Monitor] =~=~=~=~=~=~=~=  WHOIS END  =~=~=~=~=~=~=~=
then

для активации правил брандмауэра (маскировки). Затем
так, чтобы соединения, приходящие на один интерфейс, возвращались на один и тот же интерфейс. На моей машине был запущен DNS-сервер, который был настроен так, чтобы пользователи могли просто подключаться к 192.168.100.250 - если вы этого не сделаете, я не уверен, что это лучший способ - вы можете настроить преобразователь заглушек, который переключается между двумя DNS-адресами для переадресации запросов или настроить половину машин пользователей на использование одного DNS-адреса, а вторую половину - другого. [1183523]

0
27.01.2020, 22:06
[1181452]Ethernet-связь здесь не является решением. Соединение - это функция Layer-2, и на ваших маршрутизаторах работает Layer-3 (IP).

Я предполагаю, что ваши маршрутизаторы подключены к различным конечным точкам провайдеров.

Что бы я сделал:

Извлеките два маршрутизатора из конфигурации и сконфигурируйте сети провайдеров непосредственно на вашем ПК с 3 сетевыми картами. То есть:

NIC 1: 192.168.100.250

NIC 2: ISP #1 публичный IP

NIC 3: ISP #2 публичный IP

Make NAT rules so that traffic from source ports 1-32767 are NATed to first outgoing connection public IP, and from source ports 32768-65535 are NATed to second outgoing connection public IP. С этой конфигурацией вы получите базовую конфигурацию балансировки нагрузки.

EDIT: Вам также может понадобиться применить некоторую политику маршрутизации здесь, потому что NAT выполняется после принятия решения о маршрутизации, поэтому пакет все равно будет маршрутизироваться не на тот интерфейс.

многошлюзовая маршрутизация для определенного src-порта[1181858] имеет четкие инструкции о том, как применять политику маршрутизации, основанную на порте источника.[1181463].

3
27.01.2020, 22:06

Теги

Похожие вопросы