IPTABLES и перенаправление порта внутрь сети с внешнего IP-адреса

Автор vdnovichkov, 07 ноября 2013, 17:03:59

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

vdnovichkov

Здравствуйте, у меня есть вопрос по перенаправлению портов. Ситуация нестандартная:
Я подключен к двум провайдерам, сервер принимает запросы с двух сетевых карт и балансирует+резервирует интернет изнутри сети. Первый провайдер даёт белый адрес прямо на сетевую карту. С перенаправлением портов проблем никаких. (часть сервисов держу на виртуальных серверах).
Но со вторым провайдером обстоит сложнее:
Сервер принимает на себя входящие соединения, но не работают перенаправления. Причина - внешний IP-адрес висит где-то на их шлюзе, а моя сетевая карта получила внутрипровайдерский адрес. С большим трудом настроил приём "на себя", но с перенаправлением портов на внутренние сервера обстоит не очень - перенаправления не работают.

apollyon

дык если у вас внутрисетевой ип в провайдерской сети, то и настройки должны быть на его стороне..

vdnovichkov

#2
Цитата: apollyon от 07 ноября 2013, 17:07:44дык если у вас внутрисетевой ип в провайдерской сети, то и настройки должны быть на его стороне..
Согласен, но прикол в том, что ПРИЁМ на сам сервер-маршрутизатор мне удалось организовать, а вот перенаправление портов - работать не хочет.
Вот тут конфиги:
http://wohlnet.ru/sentfile/balance.zip
iptables-settings.sh - ответственный, который я запускаю и запускают скрипты чтобы освежить правила IPTABLES

apollyon

что-то в iptables-settings.sh такая каша получилась... по-хорошему, его бы вообще переписать нужно было бы

vdnovichkov

#4
Извиняюсь за задержку, сессия в процессе.
Порядок навёл боле-менее в iptables-settings.sh
http://wohlnet.ru/sentfile/balance-2.zip
Для открытия или переброса выделил свою функцию, чтобы унифицировать всё добро.

функция для переброса порта
ForwardPort()
{
echo Forward to $1/$2:$3
# $1 - Server $2 - IP-mask $3 - port
$IPTABLES -t nat -A PREROUTING -i $OuETH1 -p tcp -m tcp --dport $3 -j DNAT --to-destination $1:$3
$IPTABLES -t nat -A PREROUTING -i $OuETH2 -p tcp -m tcp --dport $3 -j DNAT --to-destination $1:$3
$IPTABLES -t nat -A PREROUTING -s $SRV12 -p tcp -m tcp --dport $3 -j DNAT --to-destination $1:$3
$IPTABLES -t nat -A POSTROUTING -s $SRV11 -p tcp --dport $3 -j SNAT --to-source $GLOBAL_IP_PRIM
$IPTABLES -t nat -A POSTROUTING -s $SRV12 -p tcp --dport $3 -j SNAT --to-source $GLOBAL_IP_SEC
$IPTABLES -t nat -A POSTROUTING --dst $MyIP -p tcp --dport $3 -j SNAT --to-source $IP2
$IPTABLES -t nat -A OUTPUT --dst $SRV12 -p tcp --dport $3 -j DNAT --to-destination $1

$IPTABLES -A FORWARD -d $1/$2 -i $InETH -p tcp -m tcp --dport $3 -j ACCEPT
$IPTABLES -A FORWARD -d $1/$2 -i $OuETH1 -p tcp -m tcp --dport $3 -j ACCEPT
$IPTABLES -A FORWARD -d $1/$2 -i $OuETH2 -p tcp -m tcp --dport $3 -j ACCEPT
$IPTABLES -A FORWARD -i $OuETH2 -d $SRV12 -p tcp --dport $3 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -i $OuETH2 -d $SRV12 -p tcp --dport $3 --syn -m state --state NEW -j ACCEPT

$IPTABLES -t mangle -A PREROUTING -i $LOCAL_ETH -s $SRV11 -p tcp --dport $3 -j MARK --set-mark $MARK_PRIM
$IPTABLES -t mangle -A PREROUTING -i $LOCAL_ETH -s $SRV12 -p tcp --dport $3 -j MARK --set-mark $MARK_SEC
}

Отлично работает на первом провайдере, где IP-адрес белый прямо на сетевой карте.
Но ни как не пашет на втором провайдере. Провайдер дал на сетевую карту свой внутренний адрес, а белый оставил на одном из своих шлюзов, который на меня направляет трафик.

$OuETH1 - Внешний ETH к первому провайдеру (белый IP прямо на интерфейс) - у меня eth2
$SRV11   - Внешний IP-адрес от первого провайдера
$OuETH2 - Внешний ETH ко второму провайдеру (белый IP на Их шлюзе, а сам имею внутрисетевой адрес 10.191.123.9)  - у меня eth3
$SRV11   - Внешний IP-адрес от первого провайдера

$LOCAL_ETH - шлюз eth1, который принимает запросы из моей сетки для отправки их в интернет.

Настройки интернетовских плат:


Для теста я имею веб-сервер внутри сети с адресом 172.16.0.5 на порту 85.
http://46.39.226.184:85 - первый провайдер
http://91.193.226.12:85 - второй провайдер
Из-за некой особенности маршрутизации, второй не хочет пахать.
Когда я подключал ко второму провайдеру игрушечный роутер NetGear, настроив на нём перенаправления портов - он их моментально перенаправлял. Поэтому дело в нашем iptables...

Мой основной веб-сервер работает непосредственно на самом маршрутизаторе:
http://46.39.226.184 - первый провайдер
http://91.193.226.12 - второй провайдер
Как видно, работают оба.

315th

Мил человек, Вы уж простите, но я отправлю Вас по этой ссылке. http://www.opennet.ru/docs/RUS/LARTC/x348.html
Статья с  хабра хороша конечно, как введение, но как инструкцию я бы побоялся применять. Ну к примеру пинговашу-чекалку или routes.conf вообще бы остерёгся.
Давайте всё-таки текстовые листинги предоставлять ввиде текста и полностью. Интересны следующие выхлопы
ip -s l
ip a s
ip -4 r s t all type unicast
ip rule show
iptables-save

ЦитироватьМой основной веб-сервер работает непосредственно на самом маршрутизаторе:
Собственно там та же песня, на первом ISP оно работает, на втором — нет.
Debian GNU/Linux 7.11 (wheezy) - CLI
ICH7; D525MV; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686); Intel Atom D525 1.8 GHz

vdnovichkov

#6
Цитата: 315th от 03 января 2014, 23:30:06
Мил человек, Вы уж простите, но я отправлю Вас по этой ссылке. http://www.opennet.ru/docs/RUS/LARTC/x348.html
Статья с  хабра хороша конечно, как введение, но как инструкцию я бы побоялся применять. Ну к примеру пинговашу-чекалку или routes.conf вообще бы остерёгся.
Давайте всё-таки текстовые листинги предоставлять ввиде текста и полностью. Интересны следующие выхлопы
ip -s l
ip a s
ip -4 r s t all type unicast
ip rule show
iptables-save

ЦитироватьМой основной веб-сервер работает непосредственно на самом маршрутизаторе:
Собственно там та же песня, на первом ISP оно работает, на втором — нет.


ip -s l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast   
    3786117471 1161430  0       0       0       0     
    TX: bytes  packets  errors  dropped carrier collsns
    3786117471 1161430  0       0       0       0     
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:40:f4:5a:15:c6 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    755145839  3301712  0       0       0       0     
    TX: bytes  packets  errors  dropped carrier collsns
    121886616  710535   0       0       0       0     
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:80:48:24:1b:16 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    1093720585 16857112 0       0       0       0     
    TX: bytes  packets  errors  dropped carrier collsns
    2266242961 13337220 0       0       0       0     
4: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:e0:52:c2:fb:a9 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    153261987  2146622  0       0       0       0     
    TX: bytes  packets  errors  dropped carrier collsns
    530356310  3582453  0       0       0       0     
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:60:6e:88:0d:63 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    2213880536 17825913 0       0       0       20085 
    TX: bytes  packets  errors  dropped carrier collsns
    3481001336 27403865 0       0       0       0     
6: gre0: <NOARP> mtu 1476 qdisc noop state DOWN
    link/gre 0.0.0.0 brd 0.0.0.0
    RX: bytes  packets  errors  dropped overrun mcast   
    0          0        0       0       0       0     
    TX: bytes  packets  errors  dropped carrier collsns
    0          0        0       0       0       0     
7: gretap0: <BROADCAST,MULTICAST> mtu 1476 qdisc noop state DOWN qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    0          0        0       0       0       0     
    TX: bytes  packets  errors  dropped carrier collsns
    0          0        0       0       0       0     


ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:40:f4:5a:15:c6 brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.10/16 brd 172.16.255.255 scope global eth1
    inet6 fe80::240:f4ff:fe5a:15c6/64 scope link
       valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:80:48:24:1b:16 brd ff:ff:ff:ff:ff:ff
    inet 46.39.226.184/24 brd 46.39.226.255 scope global eth2
    inet6 fe80::280:48ff:fe24:1b16/64 scope link
       valid_lft forever preferred_lft forever
4: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:e0:52:c2:fb:a9 brd ff:ff:ff:ff:ff:ff
    inet 10.191.123.9/24 brd 10.191.123.255 scope global eth3
    inet6 fe80::2e0:52ff:fec2:fba9/64 scope link
       valid_lft forever preferred_lft forever
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:60:6e:88:0d:63 brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.1/16 brd 172.16.255.255 scope global eth0
    inet6 fe80::a60:6eff:fe88:d63/64 scope link
       valid_lft forever preferred_lft forever
6: gre0: <NOARP> mtu 1476 qdisc noop state DOWN
    link/gre 0.0.0.0 brd 0.0.0.0
7: gretap0: <BROADCAST,MULTICAST> mtu 1476 qdisc noop state DOWN qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff


ip -4 r s t all type unicast
91.193.223.0/24 dev eth3  table T2  scope link  src 10.191.123.9
46.39.226.0/24 dev eth2  table T2  scope link
10.0.0.0/8 dev eth3  table T2  scope link  src 10.191.123.9
127.0.0.0/8 dev lo  table T2  scope link
default via 10.191.123.254 dev eth3  table T2
91.193.223.0/24 dev eth2  scope link  src 46.39.226.184
46.39.226.0/24 dev eth2  scope link  src 46.39.226.184
10.191.123.0/24 dev eth3  proto kernel  scope link  src 10.191.123.9
169.254.0.0/16 dev eth1  scope link  metric 1002
169.254.0.0/16 dev eth2  scope link  metric 1003
169.254.0.0/16 dev eth3  scope link  metric 1004
169.254.0.0/16 dev eth0  scope link  metric 1005
172.16.0.0/16 dev eth0  proto kernel  scope link  src 172.16.0.1
172.16.0.0/16 dev eth1  proto kernel  scope link  src 172.16.0.10
10.0.0.0/8 dev eth3  scope link  src 10.191.123.9
127.0.0.0/8 dev lo  scope link
default via 46.39.226.1 dev eth2
0.0.0.0 dev eth2  table T1  scope link
46.39.226.0/24 dev eth2  table T1  scope link  src 46.39.226.184
10.0.0.0/8 dev eth3  table T1  scope link
127.0.0.0/8 dev lo  table T1  scope link


ip rule show
0: from all lookup local
32761: from 91.193.223.12 fwmark 0x14 lookup T2
32762: from 91.193.223.12 lookup T2
32763: from 10.191.123.9 lookup T2
32764: from 46.39.226.184 fwmark 0xa lookup T1
32765: from 46.39.226.184 lookup T1
32766: from all lookup main
32767: from all lookup default


iptables-save
# Generated by iptables-save v1.4.7 on Sat Jan  4 00:27:45 2014
*filter
:INPUT DROP [1573:216342]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:PPTPD - [0:0]
:ipsec - [0:0]
:l2tp - [0:0]
:secin - [0:0]
:secout - [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --dport 1701 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 1723 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A INPUT -s 172.16.0.0/16 -i eth1 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p udp -m udp --dport 80 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p udp -m udp --dport 80 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p udp -m udp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p udp -m udp --dport 443 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p udp -m udp --dport 443 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p udp -m udp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8888 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 631 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p udp -m udp --dport 631 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 631 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p udp -m udp --dport 631 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8012 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 8012 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 8012 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8015 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 8015 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 8015 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1812 -j ACCEPT
-A INPUT -p udp -m udp --dport 1812 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 1812 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p udp -m udp --dport 1812 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 1812 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p udp -m udp --dport 1812 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1813 -j ACCEPT
-A INPUT -p udp -m udp --dport 1813 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 1813 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p udp -m udp --dport 1813 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 1813 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p udp -m udp --dport 1813 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1814 -j ACCEPT
-A INPUT -p udp -m udp --dport 1814 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 1814 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p udp -m udp --dport 1814 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 1814 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p udp -m udp --dport 1814 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 18120 -j ACCEPT
-A INPUT -p udp -m udp --dport 18120 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 18120 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p udp -m udp --dport 18120 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 18120 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p udp -m udp --dport 18120 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 999 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 999 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 999 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5222 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 5222 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 5222 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5223 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 5223 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 5223 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5269 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 5269 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 5269 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5552 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 5552 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 5552 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6666 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 6666 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 6666 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6667 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 6667 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 6667 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6668 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 6668 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 6668 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6669 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 6669 -j ACCEPT
-A INPUT -s 127.0.0.0/8 -p tcp -m tcp --dport 6669 -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -p udp -m udp --dport 1723 -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -j secin
-A INPUT -i eth0 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
-A INPUT -i eth0 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -i eth2 -p tcp -m tcp --dport 3306 -j DROP
-A INPUT -s 172.16.0.0/16 -i eth3 -p tcp -m tcp --dport 3306 -j DROP
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -i ppp+ -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -i ppp+ -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -i ppp+ -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -i ppp+ -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -i ppp+ -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -s 172.16.0.0/16 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
-A FORWARD -d 172.16.0.0/16 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 46.39.226.184/32 -i eth2 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A FORWARD -d 91.193.223.12/32 -i eth3 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A FORWARD -s 172.16.0.0/16 -d 46.39.226.184/32 -o eth2 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A FORWARD -s 172.16.0.0/16 -d 91.193.223.12/32 -o eth3 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A FORWARD -s 172.16.0.0/16 -i eth1 -o eth2 -j ACCEPT
-A FORWARD -s 172.16.0.0/16 -i eth1 -o eth3 -j ACCEPT
-A FORWARD -d 172.16.0.0/16 -i eth2 -o eth1 -j ACCEPT
-A FORWARD -d 172.16.0.0/16 -i eth3 -o eth1 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth3 -o eth1 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -d 172.16.0.5/32 -i eth1 -p tcp -m tcp --dport 85 -j ACCEPT
-A FORWARD -d 172.16.0.5/32 -i eth2 -p tcp -m tcp --dport 85 -j ACCEPT
-A FORWARD -d 172.16.0.5/32 -i eth3 -p tcp -m tcp --dport 85 -j ACCEPT
-A FORWARD -d 91.193.223.12/32 -i eth3 -p tcp -m tcp --dport 85 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A FORWARD -d 91.193.223.12/32 -i eth3 -p tcp -m tcp --dport 85 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A FORWARD -d 172.16.0.5/32 -i eth1 -p tcp -m tcp --dport 4781 -j ACCEPT
-A FORWARD -d 172.16.0.5/32 -i eth2 -p tcp -m tcp --dport 4781 -j ACCEPT
-A FORWARD -d 172.16.0.5/32 -i eth3 -p tcp -m tcp --dport 4781 -j ACCEPT
-A FORWARD -d 91.193.223.12/32 -i eth3 -p tcp -m tcp --dport 4781 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A FORWARD -d 91.193.223.12/32 -i eth3 -p tcp -m tcp --dport 4781 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A FORWARD -d 172.16.0.12/32 -i eth1 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -d 172.16.0.12/32 -i eth2 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -d 172.16.0.12/32 -i eth3 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -d 91.193.223.12/32 -i eth3 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A FORWARD -d 91.193.223.12/32 -i eth3 -p tcp -m tcp --dport 25 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j ACCEPT
-A FORWARD -p gre -j ACCEPT
-A FORWARD -i lo -p gre -j ACCEPT
-A FORWARD -i ppp+ -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j secout
-A FORWARD -d 172.16.0.5/32 -i eth2 -p tcp -m tcp --dport 62079 -j ACCEPT
-A FORWARD -d 172.16.0.5/32 -i eth2 -p udp -m udp --dport 62079 -j ACCEPT
-A FORWARD -s 0.0.0.0/32 -d 172.16.0.5/32 -p tcp -m tcp --dport 995 -m state --state NEW -j ACCEPT
-A FORWARD -d 172.16.0.5/32 -i eth1 -p tcp -m tcp --dport 995 -j ACCEPT
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 172.16.0.0/16 -o eth1 -m state --state NEW -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 32768:61000 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 32768:61000 -j ACCEPT
-A OUTPUT -p gre -j ACCEPT
-A OUTPUT -o eth0 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
-A OUTPUT -s 172.16.0.0/16 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
-A OUTPUT -s 172.16.0.0/16 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
-A PPTPD -p tcp -m tcp --dport 1723 -m state --state NEW,ESTABLISHED -j ACCEPT
-A PPTPD -p gre -j ACCEPT
-A ipsec -p udp -m udp --dport 500 -j ACCEPT
-A ipsec -p udp -m udp --dport 4500 -j ACCEPT
-A ipsec -p esp -j ACCEPT
-A ipsec -p ah -j ACCEPT
-A secin -i ipsec0 -j ACCEPT
-A secout -i ipsec0 -j ACCEPT
COMMIT
# Completed on Sat Jan  4 00:27:45 2014
# Generated by iptables-save v1.4.7 on Sat Jan  4 00:27:45 2014
*nat
:PREROUTING ACCEPT [30204:2030759]
:POSTROUTING ACCEPT [2918:182115]
:OUTPUT ACCEPT [9089:646101]
-A PREROUTING -i eth2 -p tcp -m tcp --dport 85 -j DNAT --to-destination 172.16.0.5:85
-A PREROUTING -i eth3 -p tcp -m tcp --dport 85 -j DNAT --to-destination 172.16.0.5:85
-A PREROUTING -s 91.193.223.12/32 -p tcp -m tcp --dport 85 -j DNAT --to-destination 172.16.0.5:85
-A PREROUTING -i eth2 -p tcp -m tcp --dport 4781 -j DNAT --to-destination 172.16.0.5:4781
-A PREROUTING -i eth3 -p tcp -m tcp --dport 4781 -j DNAT --to-destination 172.16.0.5:4781
-A PREROUTING -s 91.193.223.12/32 -p tcp -m tcp --dport 4781 -j DNAT --to-destination 172.16.0.5:4781
-A PREROUTING -i eth2 -p tcp -m tcp --dport 25 -j DNAT --to-destination 172.16.0.12:25
-A PREROUTING -i eth3 -p tcp -m tcp --dport 25 -j DNAT --to-destination 172.16.0.12:25
-A PREROUTING -s 91.193.223.12/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination 172.16.0.12:25
-A PREROUTING -i eth2 -p tcp -m tcp --dport 62079 -j DNAT --to-destination 172.16.0.5:62079
-A PREROUTING -i eth2 -p udp -m udp --dport 62079 -j DNAT --to-destination 172.16.0.5:62079
-A PREROUTING -i eth2 -p tcp -m tcp --dport 995 -j DNAT --to-destination 172.16.0.5:995
-A PREROUTING -i eth3 -p tcp -m tcp --dport 995 -j DNAT --to-destination 172.16.0.5:995
-A POSTROUTING -o eth2 -j MASQUERADE
-A POSTROUTING -o eth3 -j MASQUERADE
-A POSTROUTING -s 172.16.0.0/16 -o eth2 -j MASQUERADE
-A POSTROUTING -s 172.16.0.0/16 -o eth3 -j MASQUERADE
-A POSTROUTING -s 46.39.226.184/32 -p tcp -j SNAT --to-source 46.39.226.184
-A POSTROUTING -s 91.193.223.12/32 -p tcp -j SNAT --to-source 10.191.123.9
-A POSTROUTING -s 172.16.0.0/16 -o eth2 -j SNAT --to-source 46.39.226.184
-A POSTROUTING -s 172.16.0.0/16 -o eth3 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -s 172.16.0.0/16 -o eth1 -j SNAT --to-source 46.39.226.184
-A POSTROUTING -s 172.16.0.0/16 -o eth1 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 20 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 21 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 443 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 631 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 8012 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 8015 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 1812 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 1813 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 1814 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 18120 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -s 46.39.226.184/32 -p tcp -m tcp --dport 85 -j SNAT --to-source 46.39.226.184
-A POSTROUTING -s 91.193.223.12/32 -p tcp -m tcp --dport 85 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 85 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -s 46.39.226.184/32 -p tcp -m tcp --dport 4781 -j SNAT --to-source 46.39.226.184
-A POSTROUTING -s 91.193.223.12/32 -p tcp -m tcp --dport 4781 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 4781 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 53 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -s 46.39.226.184/32 -p tcp -m tcp --dport 25 -j SNAT --to-source 46.39.226.184
-A POSTROUTING -s 91.193.223.12/32 -p tcp -m tcp --dport 25 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 25 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 110 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 143 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 993 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 999 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 5222 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 5223 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 5269 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 5552 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 6666 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 6667 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 6668 -j SNAT --to-source 10.191.123.9
-A POSTROUTING -d 172.16.0.10/32 -p tcp -m tcp --dport 6669 -j SNAT --to-source 10.191.123.9
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 20 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 21 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 631 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 8012 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 8015 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 1812 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 1813 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 1814 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 18120 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 85 -j DNAT --to-destination 172.16.0.5
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 4781 -j DNAT --to-destination 172.16.0.5
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 53 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination 172.16.0.12
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 110 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 143 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 993 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 999 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 5222 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 5223 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 5269 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 5552 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 6666 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 6667 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 6668 -j DNAT --to-destination 172.16.0.10
-A OUTPUT -d 91.193.223.12/32 -p tcp -m tcp --dport 6669 -j DNAT --to-destination 172.16.0.10
COMMIT
# Completed on Sat Jan  4 00:27:45 2014
# Generated by iptables-save v1.4.7 on Sat Jan  4 00:27:45 2014
*raw
:PREROUTING ACCEPT [1212184:493809521]
:OUTPUT ACCEPT [688532:796305505]
COMMIT
# Completed on Sat Jan  4 00:27:45 2014
# Generated by iptables-save v1.4.7 on Sat Jan  4 00:27:45 2014
*mangle
:PREROUTING ACCEPT [1211991:493795951]
:INPUT ACCEPT [695017:171872322]
:FORWARD ACCEPT [514615:321677079]
:OUTPUT ACCEPT [688275:796061889]
:POSTROUTING ACCEPT [1202869:1117738056]
-A PREROUTING -s 46.39.226.184/32 -i eth1 -p tcp -j MARK --set-xmark 0xa/0xffffffff
-A PREROUTING -s 91.193.223.12/32 -i eth1 -p tcp -j MARK --set-xmark 0x14/0xffffffff
-A PREROUTING -s 46.39.226.184/32 -i eth1 -p tcp -m tcp --dport 85 -j MARK --set-xmark 0xa/0xffffffff
-A PREROUTING -s 91.193.223.12/32 -i eth1 -p tcp -m tcp --dport 85 -j MARK --set-xmark 0x14/0xffffffff
-A PREROUTING -s 46.39.226.184/32 -i eth1 -p tcp -m tcp --dport 4781 -j MARK --set-xmark 0xa/0xffffffff
-A PREROUTING -s 91.193.223.12/32 -i eth1 -p tcp -m tcp --dport 4781 -j MARK --set-xmark 0x14/0xffffffff
-A PREROUTING -s 46.39.226.184/32 -i eth1 -p tcp -m tcp --dport 25 -j MARK --set-xmark 0xa/0xffffffff
-A PREROUTING -s 91.193.223.12/32 -i eth1 -p tcp -m tcp --dport 25 -j MARK --set-xmark 0x14/0xffffffff
-A FORWARD -i eth1 -m conntrack --ctstate RELATED,ESTABLISHED -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
COMMIT
# Completed on Sat Jan  4 00:27:45 2014

И это с учётом того, что я чуток подправил конфиг, смог некоторые сервисы запустить на самом маршрутизаторе, избегая перенаправлений портов.

Как я сказал, просто порт 80 я открываю на самом маршрутизаторе, и он слышит с обоих ISP, а вот порт 85 - перенаправление на внутренний сервер, срабатывает на первом ISP сразу, а на втором - не хочет.
Статейку щас перечитаю. Я настраивал по разным статьям, и одну из них тоже с хабра стырил.

Сообщение объединено: 04 января 2014, 00:54:37

315th, ещё припоминаю, что кажется и эту статью тоже я использовал, что-бы организовать связь с двумя провайдерами, чтобы сервер сам видел интернет из обоих, и чтобы внутренние пользователи так же видели интернет с обоих провайдеров. А так же чтобы сервер принимал входящие снаружи сам, а так же пробрасывал порты во внутрь (виртуальные сервера на VirtualBox), тут уже с хабра статью брал, там были подсказки по IPTables. Всё получилось, сервер принимает на себя с обоих провайдеров, раздаёт интернет всем, в случае аварии первого провайдера открывает резервный канал, как и нужно. Сначала сделал балансировку, но т.к скорость 1 = 60 Мб/с, а скорость 2 = 5 Мб / с, то у пользователей внутри возникали проблемы со скоростями, особенно при просмотре видео. Поэтому отключил балансировку, оставив режим резервирования. Пинговаша-чекалка вставлена в крон, если что. routes.conf - тот же бэшик, просто выделил роуты отдельным файлом, чтобы не путались с айпитэйблами

315th

Debian GNU/Linux 7.11 (wheezy) - CLI
ICH7; D525MV; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686); Intel Atom D525 1.8 GHz

vdnovichkov

#8
315th, работает всё, кроме перенаправления портов.
Попробуйте сами:

Перенаправлялка (веб-сервер на другом сервере, и его порт пробрасывается):
http://46.39.226.184:85 - первый провайдер (сработает)
http://91.193.223.12:85 - второй провайдер (не сработает)

Открывашка (Веб-сервер на самом маршрутизаторе)
http://46.39.226.184 - первый провайдер (сработает)
http://91.193.223.12 - второй провайдер (сработает)
Как видно, работают оба.

Проблема стоит именно в перенаправлении портов со второго провайдера.
Первый сразу работает.
Потому что белый IP-адрес выдаётся сразу на сетевую карту
а на втором провайдере IP-адрес выдаётся только внутрисетевой, а белый на их шлюзе числится.


UPD: исправил опечатку IP-адреса второго провайдера

315th

#9
Спасибо, картинка, наверное, лишняя.
Но у Вас опечатка всё-таки. Не 91.193.226.12, а 91.193.223.12
Смотрите, что получается:
Провайдер на своём оборудовании делает DNAT с  91.193.223.12 на Ваш адрес внутри сети провайдера 10.191.123.9. Т.е приходящие пакеты будут иметь адрес назначения не 91.193.223.12, а 10.191.123.9, и соответственно, все действия с файерволом нужно выполнять относительно 10.191.123.9.
Debian GNU/Linux 7.11 (wheezy) - CLI
ICH7; D525MV; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686); Intel Atom D525 1.8 GHz

vdnovichkov

#10
315th, щас попробую исправить

Сообщение объединено: 04 января 2014, 21:01:14

315th, Дык, придётся завтра/послезавтра...
Резервный канал временно отключен за неуплату :(
а то смотрю-смотрю, чего это он не пашет....

315th

Debian GNU/Linux 7.11 (wheezy) - CLI
ICH7; D525MV; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686); Intel Atom D525 1.8 GHz

vdnovichkov

Сделал вот такой кусочек:
как правило, главный пашет на ура, а резерв по прежнему только на открывашку работает, но не на переброс:
# $1 - Server $2 - IP-mask $3 - port
# First  Provider
$IPTABLES -t nat -A PREROUTING -i $OuETH1 -p tcp -m tcp --dport $3 -j DNAT --to-destination $1:$3
$IPTABLES -t nat -A POSTROUTING -s $SRV11 -p tcp --dport $3 -j SNAT --to-source $GLOBAL_IP_PRIM
$IPTABLES -A FORWARD -d $1/$2 -i $OuETH1 -p tcp -m tcp --dport $3 -j ACCEPT
$IPTABLES -t mangle -A PREROUTING -i $OuETH1 -s $SRV11 -p tcp --dport $3 -j MARK --set-mark $MARK_PRIM

# Second  Provider

$IPTABLES -t nat -A PREROUTING -i $OuETH2 -p tcp -m tcp --dport $3 -j DNAT --to-destination $1:$3
$IPTABLES -t nat -A PREROUTING -d $IP2 -p tcp -m tcp --dport $3 -j DNAT --to-destination $1:$3
$IPTABLES -t nat -A POSTROUTING -s $IP2 -p tcp --dport $3 -j SNAT --to-source $IP2
$IPTABLES -t mangle -A PREROUTING -i $LOCAL_ETH -s $SRV12 -p tcp --dport $3 -j MARK --set-mark $MARK_SEC
$IPTABLES -t mangle -A PREROUTING -i $OuETH2 -s $IP2 -p tcp --dport $3 -j MARK --set-mark $MARK_SEC
$IPTABLES -t mangle -A PREROUTING -i $OuETH2 -s $SRV12 -p tcp --dport $3 -j MARK --set-mark $MARK_SEC
$IPTABLES -A FORWARD -d $1/$2 -i $OuETH2 -p tcp -m tcp --dport $3 -j ACCEPT


где $IP2 - адрес, присвоенный на саму сетевую карту вторым провайдером. $OuETH2 - интерфейс, работающий как канал от второго провайдера