Перейти к содержанию

Интернет-шлюз на две локалки


Рекомендуемые сообщения

Добрый день!

Есть такая сеть:

Шлюз на Linux со следующими интерфейсами:

eth0 - внешний интерфейс в интернет с IP 217.b.c.d/255.255.255.240

eth0:1 - локальная сеть 192.168.3.0/24 с IP 192.168.3.58

eth2 - локальная сеть 192.168.0.0/24 с IP 192.168.0.1

первые два на одном интерфейсе, т.к. используется радиоканал для доступа в инет и в др. локальную сеть.

На сервере поднят NAT:

-A POSTROUTING -s 192.168.3.0/255.255.255.0 -o eth0 -j SNAT --to-source 217.b.c.d

-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth0 -j SNAT --to-source 217.b.c.d

Маршруты:

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

217.b.c.e * 255.255.255.255 UH 0 0 0 eth0

192.168.3.0 * 255.255.255.0 U 0 0 0 eth0

192.168.0.0 * 255.255.255.0 U 0 0 0 eth2

127.0.0.0 * 255.0.0.0 U 0 0 0 lo

default 217.b.c.e 0.0.0.0 UG 0 0 0 eth0

*217.b.c.d - реальный IP в инете

*217.b.c.e - шлюз провайдера

проблема: сетка 192.168.3.0/24 не видит интернет напрямую, только через прокси

при этом с 192.168.0.0/24 все работает без проблем

Как с этим справиться?

Спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Master400 писал(а) Tue, 16 January 2007 16:55

В iptables добавте правило проброса FORWARD

-A FORWARD -s 192.168.0.0/255.255.255.0 -j ACCEPT пример

там это уже есть:

-A FORWARD -i eth0 -p tcp -j bad_tcp_packets

-A FORWARD -p udp -m udp --dport 123 -j ACCEPT

-A FORWARD -s 192.168.3.31 -j ACCEPT

-A FORWARD -s 192.168.3.51 -j ACCEPT

-A FORWARD -s 192.168.3.98 -j ACCEPT

-A FORWARD -s 192.168.3.99 -j ACCEPT

-A FORWARD -s 192.168.3.187 -j ACCEPT

-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth2 -j ACCEPT

-A FORWARD -p icmp -j icmp_packets

-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7

Ссылка на комментарий
Поделиться на другие сайты

Что-то я непонял, что все таки должно быть написано. Напишите, пожалуйста полностью. И вообще я не уверен что дело в правилах, т.к. когда я разрешаю прохождение ВСЕХ пакетов, то интернет для 192.168.3.0/24 все равно не работает.

Ссылка на комментарий
Поделиться на другие сайты

Подсказывать как надо все сделать правильно небуду, иначе вы ненаучитесь сами осмысливать то что вы делаете.

Подскажу одно - очистите все правила в Iptables и добавляйте по одному и смотрите результат на каждое добавление.

Ссылка на комментарий
Поделиться на другие сайты

А разве дело в IPTables? Почему когда я создаю самое первое правило "Разрешать ВСЕ", то все равно ничего не работает?

Я уже с это проблемой мучаюсь недели 2, уже весь инет перекопал и конфиги линукса.

Ссылка на комментарий
Поделиться на другие сайты

Master400 писал(а) Wed, 17 January 2007 16:18

echo 1 >/proc/sys/net/ipv4/ip_forward

А это у вас есть

есть. иначе я думаю и 192.168.0.0/24 не видел бы интернет.

вообще 192.168.3.0/24 и 192.168.0.0/24 видят друг друга прекрасно, только у первого интернета нету (только через прокси)

Ссылка на комментарий
Поделиться на другие сайты

Trainer писал(а) Wed, 17 January 2007 15:34

Master400 писал(а) Wed, 17 January 2007 16:18

echo 1 >/proc/sys/net/ipv4/ip_forward

А это у вас есть

есть. иначе я думаю и 192.168.0.0/24 не видел бы интернет.

вообще 192.168.3.0/24 и 192.168.0.0/24 видят друг друга прекрасно, только у первого интернета нету (только через прокси)

tcpdump -i eth0 что даёт, если пинговать инетовский адрес с 192.168.3.хх ?

Ссылка на комментарий
Поделиться на другие сайты

Master400 писал(а) Wed, 17 January 2007 16:55

192.168.3.0 * 255.255.255.0 U 0 0 0 eth0

192.168.0.0 * 255.255.255.0 U 0 0 0 eth2

Вот ваш роутинг что то здесь странновато.

хм... а что посоветуете? я уже незнаю, что можно придумать (

Ссылка на комментарий
Поделиться на другие сайты

Sleeping Daemon писал(а) Wed, 17 January 2007 16:52

Trainer писал(а) Wed, 17 January 2007 15:34

Master400 писал(а) Wed, 17 January 2007 16:18

echo 1 >/proc/sys/net/ipv4/ip_forward

А это у вас есть

есть. иначе я думаю и 192.168.0.0/24 не видел бы интернет.

вообще 192.168.3.0/24 и 192.168.0.0/24 видят друг друга прекрасно, только у первого интернета нету (только через прокси)

tcpdump -i eth0 что даёт, если пинговать инетовский адрес с 192.168.3.хх ?

Если пинговать с 192.168.3.xx:

10:52:02.624122 IP 192.168.3.31 > ya.ru: icmp 40: echo request seq 33025

10:52:07.938946 IP 192.168.3.31 > ya.ru: icmp 40: echo request seq 33281

10:52:13.443983 IP 192.168.3.31 > ya.ru: icmp 40: echo request seq 33537

10:52:18.942532 IP 192.168.3.31 > ya.ru: icmp 40: echo request seq 33793

Если пинговать с 192.168.0.xx:

10:51:38.420484 IP mycompany.ru > ya.ru: icmp 40: echo request seq 19456

10:51:38.476003 IP ya.ru > mycompany.ru: icmp 40: echo reply seq 19456

10:51:39.419147 IP mycompany.ru > ya.ru: icmp 40: echo request seq 19712

10:51:39.475889 IP ya.ru > mycompany.ru: icmp 40: echo reply seq 19712

10:51:40.419212 IP mycompany.ru > ya.ru: icmp 40: echo request seq 19968

10:51:40.475794 IP ya.ru > mycompany.ru: icmp 40: echo reply seq 19968

10:51:41.419315 IP mycompany.ru > ya.ru: icmp 40: echo request seq 20224

10:51:41.475622 IP ya.ru > mycompany.ru: icmp 40: echo reply seq 20224

я так понимаю под mycompany.ru подразумевается IP моего сервера 217.b.c.d

Ссылка на комментарий
Поделиться на другие сайты

Trainer писал(а) Thu, 18 January 2007 09:54

Sleeping Daemon писал(а) Wed, 17 January 2007 16:52

Trainer писал(а) Wed, 17 January 2007 15:34

Master400 писал(а) Wed, 17 January 2007 16:18

echo 1 >/proc/sys/net/ipv4/ip_forward

А это у вас есть

есть. иначе я думаю и 192.168.0.0/24 не видел бы интернет.

вообще 192.168.3.0/24 и 192.168.0.0/24 видят друг друга прекрасно, только у первого интернета нету (только через прокси)

tcpdump -i eth0 что даёт, если пинговать инетовский адрес с 192.168.3.хх ?

Если пинговать с 192.168.3.xx:

10:52:02.624122 IP 192.168.3.31 > ya.ru: icmp 40: echo request seq 33025

10:52:07.938946 IP 192.168.3.31 > ya.ru: icmp 40: echo request seq 33281

10:52:13.443983 IP 192.168.3.31 > ya.ru: icmp 40: echo request seq 33537

10:52:18.942532 IP 192.168.3.31 > ya.ru: icmp 40: echo request seq 33793

Если пинговать с 192.168.0.xx:

10:51:38.420484 IP mycompany.ru > ya.ru: icmp 40: echo request seq 19456

10:51:38.476003 IP ya.ru > mycompany.ru: icmp 40: echo reply seq 19456

10:51:39.419147 IP mycompany.ru > ya.ru: icmp 40: echo request seq 19712

10:51:39.475889 IP ya.ru > mycompany.ru: icmp 40: echo reply seq 19712

10:51:40.419212 IP mycompany.ru > ya.ru: icmp 40: echo request seq 19968

10:51:40.475794 IP ya.ru > mycompany.ru: icmp 40: echo reply seq 19968

10:51:41.419315 IP mycompany.ru > ya.ru: icmp 40: echo request seq 20224

10:51:41.475622 IP ya.ru > mycompany.ru: icmp 40: echo reply seq 20224

я так понимаю под mycompany.ru подразумевается IP моего сервера 217.b.c.d

Меня терзают смутные сомнения...

-A FORWARD -i eth0 -p tcp -j bad_tcp_packets

Зпрещён ? форвардинг tcp пакетов, через интерфейс eth0.

И 3-я подсеть у Вас на этом интерфейсе.

Ссылка на комментарий
Поделиться на другие сайты

Делаем так:

-A FORWARD -s 192.168.0.0/24 -i eth2 -j ACCEPT

-A FORWARD -s 192.168.3.0/24 -i eth0 -j ACCEPT

-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

-A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7

эффект тот же Sad также не пингуется

Ссылка на комментарий
Поделиться на другие сайты

Trainer писал(а) Thu, 18 January 2007 10:42

Делаем так:

-A FORWARD -s 192.168.0.0/24 -i eth2 -j ACCEPT

-A FORWARD -s 192.168.3.0/24 -i eth0 -j ACCEPT

-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

-A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7

эффект тот же Sad также не пингуется

tcpdump то же самое показывает для 3-й подсети?

И traceroute c 3-й подсети на интернетовский адрес посмотреть хотелось бы.

Ссылка на комментарий
Поделиться на другие сайты

Master400 писал(а) Thu, 18 January 2007 12:18

Покажите кусок лога по команде

route -C

Kernel IP routing cache

Source Destination Gateway Flags Metric Ref Use Iface

192.168.3.31 193.138.220.147 217.b.c.e ri 0 0 17 eth0

192.168.3.31 192.168.0.2 192.168.0.2 i 0 0 11 eth2

192.168.3.31 213.180.204.8 217.b.c.e ri 0 0 2 eth0

192.168.3.58 192.168.3.187 192.168.3.187 0 2 1 eth0

192.168.3.58 192.168.0.100 192.168.0.100 0 0 14 eth2

192.168.3.31 193.138.220.187 217.b.c.e ri 0 0 17 eth0

192.168.0.123 205.188.9.9 217.b.c.e i 0 0 17 eth0

192.168.0.51 64.12.24.21 217.b.c.e i 0 0 7 eth0

217.b.c.d 192.168.0.51 192.168.0.51 0 0 8 eth2

192.168.0.100 213.180.204.8 217.b.c.e i 0 0 3 eth0

213.180.204.8 192.168.0.100 192.168.0.100 0 0 3 eth2

Вот основные моменты. Я так понимаю с 3-ей сети "сигнал" доходит до интерента, но обратно не возвращается

Ссылка на комментарий
Поделиться на другие сайты

Sleeping Daemon писал(а) Thu, 18 January 2007 11:47

Trainer писал(а) Thu, 18 January 2007 10:42

Делаем так:

-A FORWARD -s 192.168.0.0/24 -i eth2 -j ACCEPT

-A FORWARD -s 192.168.3.0/24 -i eth0 -j ACCEPT

-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

-A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-prefix "IPT FORWARD packet died: " --log-level 7

эффект тот же Sad также не пингуется

tcpdump то же самое показывает для 3-й подсети?

И traceroute c 3-й подсети на интернетовский адрес посмотреть хотелось бы.

tcpdump показывает тоже самое.

traceroute:

если с 0-ой подсети:

---------------------------

tracert www.ya.ru

Трассировка маршрута к ya.ru [213.180.204.8]

с максимальным числом прыжков 30:

1 <1 мс <1 мс <1 мс shiva.xxxx.local [192.168.0.1]

2 19 ms 6 ms 4 ms xxx.xxx.ru [217.b.c.e]

3 10 ms 15 ms 4 ms xxx.xxx.ru [217.b.m.r]

4 8 ms 6 ms 11 ms nsk-dsr1-ge0-1-0-813.rt-comm.ru [217.106.20.117]

5 48 ms 49 ms 49 ms msk-dsr5-ge1-48.rt-comm.ru [217.106.0.2]

6 235 ms 80 ms 223 ms msk-dsr5-ge1-48.rt-comm.ru [217.106.0.2]

7 48 ms 48 ms 50 ms 217.106.30.222

8 56 ms 56 ms 59 ms ya.ru [213.180.204.8]

Трассировка завершена.

---------------------------

если с 3-ой подсети:

---------------------------

tracert www.ya.ru

Трассировка маршрута к ya.ru [213.180.204.8]

с максимальным числом прыжков 30:

1 * * * Превышен интервал ожидания для запроса.

2 ^C

ну и т.д.

---------------------------

Ссылка на комментарий
Поделиться на другие сайты

Не маскардится адрес.

С ходу не скажу как, но это связано с тем, что и инет и 3-ая подсеть сидят на одном интерфейсе.

Будет время - смоделирую такую ситуацию.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...