Настройка шлюза для одного компьютера в подсети (shorewall) (чтобы "видел" внешнюю подсеть)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение eddy »

Ситуация: на моем компьютере 2 интерфейса net(eth1) с IP 192.168.43.64 и loc(eth2) с IP 192.168.99.1, к eth2 подсоединен компьютер с IP 192.168.99.2.
Подскажите, пожалуйста, что мне прописать в правила shorewall, чтобы разрешить второму компьютеру доступ к локальной подсети 192.168.43.0/24, но не давать выход "наружу" (интернет и рабочая подсеть)?
Чего я только не пробовал. Вот файл policy:

Код: Выделить всё

loc    net    ACCEPT    7
loc    fw    ACCEPT    7
fw    loc    ACCEPT    7
fw    net    ACCEPT    7
net    all    DROP    7
all    all    REJECT    7

Вот файл rules:

Код: Выделить всё

ACCEPT    net:192.168.43.0/24    fw    udp    20,21,111,2049,4002,4001,4003,4004 -
ACCEPT    net:192.168.43.0/24    fw    tcp    80,443,20,21,22,111,2049,4002,4001,4003,4004 -
ACCEPT    net    fw    icmp    8    -
ACCEPT    loc    net    icmp
#ACCEPT+    fw    net    tcp    http    -    -    -    squid
ACCEPT loc:192.168.99.2    fw    udp 20,21,22
ACCEPT loc:192.168.99.2    net:192.168.43.0/24    udp 20,21,22
REDIRECT    fw    3128    tcp    http    -    !192.168.0.0/16,192.168.43.0/24,127.0.0.1
REDIRECT    loc    3128    tcp    http    -    !192.168.0.0/16,192.168.43.0/24,127.0.0.1
#ACCEPT loc:192.168.99.2    net:192.168.43.0/24
#SMB(ACCEPT) loc:192.168.99.2    net:192.168.43.0/24
#SMB(ACCEPT) net:192.168.43.0/24 loc:192.168.99.2

(последними закомментированными строчками я пробовал добиться доступ к самбе, но ничего не вышло).
ip-forwarding разрешен.
Пробовал маскировать:

Код: Выделить всё

eth2    192.168.99.2 192.168.43.64

ничего не вышло... :(
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение sash-kan »

может как-нибудь попроще попробовать, без привлечения shorewall?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение eddy »

sash-kan писал(а):
17.01.2011 23:48
может как-нибудь попроще попробовать, без привлечения shorewall?

Как, чтобы с 192.168.99.2 можно было свободно "перемещаться" по 192.168.43.0/24, но никуда дальше?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение sash-kan »

eddy писал(а):
17.01.2011 23:50
sash-kan писал(а):
17.01.2011 23:48
может как-нибудь попроще попробовать, без привлечения shorewall?

Как, чтобы с 192.168.99.2 можно было свободно "перемещаться" по 192.168.43.0/24, но никуда дальше?
примерно так. три основных правила:
-t filter -A FORWARD -p all -s 192.168.99.0/24 -d 192.168.43.0/24 -j ACCEPT # это чтоб нужные нам пакеты проходили. если нужно только часть протоколов пропускать, надо создать по правилу на каждый
-t filter -A FORWARD -s 192.168.99.0/24 -j REJECT # а все остальные пакеты из второй сети должны «отпинываться». можете и drop поставить, но в описанной вами сети это будет моветон
-t nat -A POSTROUTING -s 192.168.99.0/24 -d 192.168.43.0/24 -j SNAT --to-source 192.168.43.64 # это подмена source, чтобы компьютеры в первой сети обратно шлюзу ответы слали

всё это можно (и нужно) расширить, дополнить, уточнить, ужесточить, ослабить и т.д. и т.п.

p.s. вы не упомянули (или я не вижу), какая маска используется во второй сети. предположил, что 24. но если хотите, можете вообще один конкретный адрес указать — 192.168.99.2.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение eddy »

Спасибо, теперь остается придумать, как это в правилах shorewall прописать.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
patrius
Сообщения: 337
ОС: Debian (4 & 5) -> Gentoo

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение patrius »

cat /proc/sys/net/ipv4/ip_forward == 1?
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение eddy »

patrius писал(а):
18.01.2011 10:44
cat /proc/sys/net/ipv4/ip_forward == 1?

Конечно, это и подразумевается под
eddy писал(а):
17.01.2011 23:46
ip-forwarding разрешен.

RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
verrens
Сообщения: 14
ОС: Sid

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение verrens »

Не флейма ради, но ради Истинны. А зачем нужен этот shorewall и чем он лучше plain iptables? :rolleyes:
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение eddy »

verrens писал(а):
18.01.2011 13:45
Не флейма ради, но ради Истинны. А зачем нужен этот shorewall и чем он лучше plain iptables?

В iptables я вообще дуб дубом :)
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
verrens
Сообщения: 14
ОС: Sid

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение verrens »

eddy писал(а):
18.01.2011 16:08
verrens писал(а):
18.01.2011 13:45
Не флейма ради, но ради Истинны. А зачем нужен этот shorewall и чем он лучше plain iptables?

В iptables я вообще дуб дубом :)

А вот и зря!
Один день потратишь, напишешь bash-евый скрипт с кучей вызова iptables - и забудешь про этот ад раз и навсегда :)
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение eddy »

verrens писал(а):
18.01.2011 16:17
Один день потратишь, напишешь bash-евый скрипт с кучей вызова iptables - и забудешь про этот ад раз и навсегда

Боюсь, что не один день, а как минимум неделю, а то и месяц :(
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение sash-kan »

eddy писал(а):
18.01.2011 16:08
В iptables я вообще дуб дубом
eddy писал(а):
18.01.2011 16:31
Боюсь, что не один день, а как минимум неделю, а то и месяц
так стоит ли тратить дополнительное время на shorewall?
это ведь всего лишь дополнительный уровень абстракции. причём явно дырявой.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Настройка шлюза для одного компьютера в подсети (shorewall)

Сообщение eddy »

sash-kan писал(а):
18.01.2011 19:19
так стоит ли тратить дополнительное время на shorewall?

Да мне-то нужно было временное подключение создать. В принципе, раз уж не получается, то и ну его нафиг! :)
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали: