Добрый день!
Есть такая сеть:
Шлюз на 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 все работает без проблем
Как с этим справиться?
Спасибо.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Два вопроса:
1) что у тебя в качестве шлюза по умолчанию на компьютерах в сети 192.168.3.0/24?
2) что у тебя в цепочке FORWARD на шлюзе?
ответы:
1) шлюз 192.168.3.58 — т.е. эта линукс машин
2)
-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 инет не работает
«Оно», да, стоит перед этим — тут ты прав. Однако я говорю, что ЭТИ должнЫ стоять перед ОНО. Ну, вобщем, просто повнимательней перечитай то, как у тебя правила идут и то, как предложил сделать я.
Весь вопрос в том, где ты выставляешь «пропускать все пакеты» и к какой цепочке это относится (не к INPUT ли?).
поставил, получилось следующее:
-A INPUT -p tcp -m tcp -j bad_tcp_packets
-A INPUT -s 127.0.0.1 -i lo -j ACCEPT
-A INPUT -s 192.168.0.1 -i lo -j ACCEPT
-A INPUT -s 192.168.3.58 -i lo -j ACCEPT
-A INPUT -s 217.b.c.d -i lo -j ACCEPT
-A INPUT -s 217.b.c.d -p udp -m udp --sport 137 -j ACCEPT
-A INPUT -i eth2 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT
-A INPUT -d 217.b.c.d -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -i eth2 -j ACCEPT
-A INPUT -s 192.168.3.187 -i eth0 -j ACCEPT
-A INPUT -s 192.168.3.99 -i eth0 -j ACCEPT
-A INPUT -s 192.168.3.98 -i eth0 -j ACCEPT
-A INPUT -s 192.168.3.51 -i eth0 -j ACCEPT
-A INPUT -s 192.168.3.31 -i eth0 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp -j tcp_packets_inet
-A INPUT -i eth0 -p udp -j udp_packets_inet
-A INPUT -i eth0 -p icmp -j icmp_packets
-A INPUT -d 224.0.0.0/255.0.0.0 -i eth0 -j ACCEPT
-A INPUT -s 217.b.c.d -d 192.168.0.255 -j ACCEPT
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix «IPT INPUT packet died: » --log-level 7
-A FORWARD -p udp -m udp --dport 123 -j ACCEPT
-A FORWARD -s 192.168.3.0/255.255.255.0 -i eth0 -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 -i eth0 -p tcp -j bad_tcp_packets
-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
не помогло.
Пропускаю все пакеты и FORWARD и INPUT (создаю правило в самом начале, чтобы пропускало все.)
Попробуй выставить цепочку FORWARD в ACCEPT и убрать все правила. В настройках браузеров сети 192.168.3.0/24 убрать «использовать прокси-сервер» и запустить пинг с любой машины на узел в Интернете, например mail.ru. В этот момент на своем фаерволе запускай:
Вывод этой команды приводи сюда.
Если пинговать с 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