Как дать доступ в инет подсети
Модератор: weec
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 16
- Зарегистрирован: 2010-05-18 7:54:19
Как дать доступ в инет подсети
Здравствуйте!
Есть интернет-шлюз, отвечает за локалку 192.168.0.0/24 и имеет выход в интернет, сама локалка 192.168.0.0/24 с доступом в инет.
Интерфейс eth0 направлен на внешний мир, интерфейс eth1 локальная подсеть имеет IP 192.168.0.1, маску 255.255.255.0.
Надо создать 2-й шлюз, отвечающий за подсеть 192.168.1.0/24 тоже с доступом в инет. Интерфейс eth0 соединяется с подсетью 192.168.0.0/24, а eth1 отвечает за подсеть 192.168.1.0/24. Шлюз по умолчанию 192.168.0.1.
Почитав статью по схожей задаче http://plutonit.ru/view_post.php?id=128 , назрел ВОПРОС: как после маскарадинга на 2-м шлюзе, т.е. подмены параметров IP пакетов, можно будет идентифицировать на каком компьютере подсети проблема?
Настраиваю с помощью iptables.
Есть интернет-шлюз, отвечает за локалку 192.168.0.0/24 и имеет выход в интернет, сама локалка 192.168.0.0/24 с доступом в инет.
Интерфейс eth0 направлен на внешний мир, интерфейс eth1 локальная подсеть имеет IP 192.168.0.1, маску 255.255.255.0.
Надо создать 2-й шлюз, отвечающий за подсеть 192.168.1.0/24 тоже с доступом в инет. Интерфейс eth0 соединяется с подсетью 192.168.0.0/24, а eth1 отвечает за подсеть 192.168.1.0/24. Шлюз по умолчанию 192.168.0.1.
Почитав статью по схожей задаче http://plutonit.ru/view_post.php?id=128 , назрел ВОПРОС: как после маскарадинга на 2-м шлюзе, т.е. подмены параметров IP пакетов, можно будет идентифицировать на каком компьютере подсети проблема?
Настраиваю с помощью iptables.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
- Контактная информация:
Re: Как дать доступ в инет подсети
ip_forward=1 + routing.. никакого маскарадинга.
-
- проходил мимо
Re: Как дать доступ в инет подсети
Спасибо! форвардинг включен. на 2-м шлюзе (с ip 192.168.0.5 - eth0 и ip 192.168.1.5 - eth1) пингуется адрес со второй подсети 192.168.1.0/24 192.168.1.19. при этом:
Код: Выделить всё
[~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
~]# ip route list
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.5 metric 1
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.5
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
default via 192.168.0.1 dev eth0 proto static
~]#
/code]
с машины 192.168.1.19 пингуется только адрес 192.168.1.5, а интернет-шлюз 192.168.0.1 и 192.168.0.5 нет!
форвардинг вклчен и на 192.168.0.5 и на 192.168.1.19.
подскажите, какие правила надо может в файервол добавить? и на какой машине? может файервол надо и в подсети 192.168.1.0/24 на машинках править? или нет?
прописываю следующее:
iptables -A INPUT -i eth0 -s 192.168.1.0/24 -d 92.168.0.5 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
и не работает все равно. подскажите куда и как дальше копать: мучать файер или не то с маршрутизацией что-то?
-
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
- Контактная информация:
Re: Как дать доступ в инет подсети
На 1-м роутере прописать маршрут в подсеть 192.168.1.0/24, т.е.
r1: route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.5
r2: route add default gw 192.168.0.1
r1: route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.5
r2: route add default gw 192.168.0.1
-
- проходил мимо
Re: Как дать доступ в инет подсети
Cпасибо! Но что-то не помогло. Пытаюсь с компа 192.168.1.19 подсети 192.168.1.0/24 пропинговать шлюз 192.168.0.1 - не пингуется..
Зато по умолчанию шлюз стоит 192.168.0.254.
Может надо в файерволах пошаманить? Сейчас они имеют дефолтные настройки. Кроме шлюза конечно.

Зато по умолчанию шлюз стоит 192.168.0.254.
Может надо в файерволах пошаманить? Сейчас они имеют дефолтные настройки. Кроме шлюза конечно.
-
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
- Контактная информация:
Re: Как дать доступ в инет подсети
1. ip_forward=1? на обоих шлюзах
2. service iptables stop
3. прописать маршруты
2. service iptables stop
3. прописать маршруты
-
- проходил мимо
Re: Как дать доступ в инет подсети
Форвардинг включен на обоих роутерах. Везде единичка.
1 шлюз:
2 шлюз:
на втором добавляю подсеть все же, а не на первом. или так нельзя? может в этом дело? а по-умолчанию и так на втором шлюзе стоит gw 192.168.0.1
1 шлюз:
Код: Выделить всё
~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
х.y.z.u 0.0.0.0 255.255.255.252 U 0 0 0 eth2
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 х.y.z.u 0.0.0.0 UG 0 0 0 eth2
~]#
Код: Выделить всё
~]# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.5
~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 192.168.0.5 255.255.255.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
~]#
-
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
- Контактная информация:
Re: Как дать доступ в инет подсети
еще раз
На 1-м роутере прописать маршрут в подсеть 192.168.1.0/24, т.е.
r1: route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.5
r2: route add default gw 192.168.0.1
если у вас схема
LAN 192.168.1.0/24 ---- [192.168.1.1 ---- 192.168.0.5] ------ 192.168.0.1------ INET
На 1-м роутере прописать маршрут в подсеть 192.168.1.0/24, т.е.
r1: route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.5
r2: route add default gw 192.168.0.1
если у вас схема
LAN 192.168.1.0/24 ---- [192.168.1.1 ---- 192.168.0.5] ------ 192.168.0.1------ INET
-
- проходил мимо
Re: Как дать доступ в инет подсети
добавив маршрыты, все равно не помогло
1-й шлюз:
~]# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.5
~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
х.y.z.u 0.0.0.0 255.255.255.252 U 0 0 0 eth2
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 192.168.0.5 255.255.255.0 UG 0 0 0 eth0
0.0.0.0 х.y.z.u 0.0.0.0 UG 0 0 0 eth2
~]#
2-й шлюз:
~]# route add default gw 192.168.0.254
~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
~]#
пинги с компа 192.168.1.19 подсети 192.168.1.0/24 все равно не идут. тут все же наверное дело в файерволе?? надо дописать может правила какие на 1-м шлюзе?

1-й шлюз:
~]# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.5
~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
х.y.z.u 0.0.0.0 255.255.255.252 U 0 0 0 eth2
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 192.168.0.5 255.255.255.0 UG 0 0 0 eth0
0.0.0.0 х.y.z.u 0.0.0.0 UG 0 0 0 eth2
~]#
2-й шлюз:
~]# route add default gw 192.168.0.254
~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
~]#
пинги с компа 192.168.1.19 подсети 192.168.1.0/24 все равно не идут. тут все же наверное дело в файерволе?? надо дописать может правила какие на 1-м шлюзе?
-
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
- Контактная информация:
Re: Как дать доступ в инет подсети
либо service iptables stop на обоих шлюзах, либо добавить в цепочки input и FORWARD, обратив внимание на порядок (должны быть сверху)
-A INPUT -s 192.168.0.0/16 -p icmp -j ACCEPT
-A FORWARD -s 192.168.0.0/16 -p icmp -j ACCEPT
-A INPUT -s 192.168.0.0/16 -p icmp -j ACCEPT
-A FORWARD -s 192.168.0.0/16 -p icmp -j ACCEPT
-
- проходил мимо
Re: Как дать доступ в инет подсети
остановить файер на 1-м шлюзе не могу в целях соблюдения безопасности. а рестарт делаю.
дописав строки на 1-м шлюзе
не совсем понимаю целесообразность добавления строк:
-A INPUT -s 192.168.0.0/16 -p icmp -j ACCEPT
-A FORWARD -s 192.168.0.0/16 -p icmp -j ACCEPT
я добавила:
iptables -A INPUT -i eth0 -s 192.168.1.0/24 -d 192.168.0.254 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
но и это не помогло.
потом оказалось что файл /etc/net/ifaces/eth0/ipv4route пуст, добавив в него
192.168.1.0/24 via 192.168.0.5
потом релод нетворка service network reload
все равно не работает.
Теперь вторая мысль: может проблема на 2-м роутере 192.168.0.5 c двумя картами eth0 и eth1 соответственно 192.168.0.5 и 192.168.1.5. Может между ними надо указать маршруты? С них пингуется 192.168.1.19, а с самого 192.168.1.19 пингуется только 192.168.1.5, а 192.168.0.5 нет!!!
дописав строки на 1-м шлюзе
не совсем понимаю целесообразность добавления строк:
-A INPUT -s 192.168.0.0/16 -p icmp -j ACCEPT
-A FORWARD -s 192.168.0.0/16 -p icmp -j ACCEPT
я добавила:
iptables -A INPUT -i eth0 -s 192.168.1.0/24 -d 192.168.0.254 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
но и это не помогло.
потом оказалось что файл /etc/net/ifaces/eth0/ipv4route пуст, добавив в него
192.168.1.0/24 via 192.168.0.5
потом релод нетворка service network reload
все равно не работает.
Теперь вторая мысль: может проблема на 2-м роутере 192.168.0.5 c двумя картами eth0 и eth1 соответственно 192.168.0.5 и 192.168.1.5. Может между ними надо указать маршруты? С них пингуется 192.168.1.19, а с самого 192.168.1.19 пингуется только 192.168.1.5, а 192.168.0.5 нет!!!
-
- ст. прапорщик
- Сообщения: 571
- Зарегистрирован: 2010-03-12 12:59:08
- Контактная информация:
Re: Как дать доступ в инет подсети
они разрешают icmp трафик от подсети 192.168.0.0/16. намеренно сделан бОльший диапазон.Гость писал(а): не совсем понимаю целесообразность добавления строк:
-A INPUT -s 192.168.0.0/16 -p icmp -j ACCEPT
-A FORWARD -s 192.168.0.0/16 -p icmp -j ACCEPT
остановите здесь iptablesТеперь вторая мысль: может проблема на 2-м роутере 192.168.0.5 c двумя картами eth0 и eth1 соответственно 192.168.0.5 и 192.168.1.5. Может между ними надо указать маршруты? С них пингуется 192.168.1.19, а с самого 192.168.1.19 пингуется только 192.168.1.5, а 192.168.0.5 нет!!!
проверить iptables -Ln или service iptables status
проверьте sysctl net.ipv4.ip_forward
проверьте пингуется ли со 2-го шлюза (192.168.0.5) ваш хост 192.168.1.19 (какой роутинг на вашем хосте? роутер по умолчанию 192.168.1.5?)
ping -I eth_на_котором_192.168.0.5 192.168.1.19
-
- проходил мимо
Re: Как дать доступ в инет подсети
заработало! файер не правила! - признаюсь!
зато прописала на компе 192.168.1.19 в качестве шлюза 192.168.0.1, и добавив маршрут через 192.168.0.118 явно в настройках eth0, все ЗАРАБОТАЛО!!!
СПАСИБО за помошь!!!
зато прописала на компе 192.168.1.19 в качестве шлюза 192.168.0.1, и добавив маршрут через 192.168.0.118 явно в настройках eth0, все ЗАРАБОТАЛО!!!
СПАСИБО за помошь!!!