Страница 1 из 1
Помогите с правилами ipfw
Добавлено: 2014-08-15 18:16:48
Labaman
омогите прописать нужные правила ipfw:
Есть шлюз из сети 192.168.0.0/24 в сеть 192.168.1.0/24 со squid'ом.
использую ipfw и natd. Сейчас настройки минимальны:
Внешний интерфейс re1 (192.168.1.100) - берет инет из 192.168.1.0/24 внутренний re0 (192.168.0.1) - раздает все и вся на подсеть 192.168.0.0/24
Код: Выделить всё
add 4000 divert natd ip from any to any via nfe0
add fwd 127.0.0.1,3128 tcp from any to any 80 via ue0
add 65500 allow ip from any to any
Собственно требуется сделать так, чтобы юзвери из подсети 192.168.0.0/24, кроме определенных ip (пусть будет 192.168.0.10 и 192.168.0.22, например) не видели подсеть 192.168.1.0/24, т.е. все что им нужно это раздача инета из этой подсети.
Ну и пробросить порты, причем не 1 в 1, а, например любой запрос поступающий на порт 111 внешнего интерфейса шлюза (192.168.1.100), например на 192.168.0.111 на порт 222.
Заранее благодарю за помощь.
Re: Помогите с правилами ipfw
Добавлено: 2014-08-16 9:31:57
underground
Всем доброго времени суток!!!
У меня схожая проблема, может быть уважаемый
Labaman найдет часть решения у меня.
Есть сервер с двумя сетевыми интерфейсами. Первый смотрит в Интернет с белым IP – 217.12.х.х, а второй 192.168.0.100 в локалку LAN-1 192.168.0.0/24 . В этой сети стоит еще один сервер с FreeBSD 9.2 первый сетевой интерфейс 192.168.0.210 смотрит в LAN-1, второй 192.168.20.210 смотрит в LAN-2 192.168.20.0/24. На ней поднят NAT, IPFW и др. Клиенты из сети LAN-2 имеют доступ в Интернет.
Мне нужно, чтобы клиенты из сети LAN-2 192.168.20.0/24 попадали на сервер LAN-1 через IP 192.168.0.100
При открытом типе IPFW это получается, но мне нужно закрыть LAN-2 для клиентов из сети LAN-1
Ниже привожу список действующих правил:
Код: Выделить всё
oot@FreeBSD:/ # cat /etc/ipfw.rules
ipfw -q -f flush
LanOut="re1"
LanIn="re2"
IpOut="192.168.0.210"
IpIn="192.168.20.210"
cmd="ipfw -q add"
ks="keep-state"
skip="skipto 800"
$cmd 005 allow all from any to any via $LanIn
$cmd 006 allow all from any to any via lo0
$cmd 007 pass tcp from any to 192.168.20.52 8181 in recv $LanOut
$cmd 010 allow tcp from me to any out via $LanOut keep-state uid squid
$cmd 011 fwd 127.0.0.1,3129 tcp from 192.168.20.0/24 to any 1-65535 out via $LanOut
$cmd 012 divert natd ip from any to any in via $LanOut
$cmd 013 check-state
###################################################
#####FOR OUTBOUND TRAFFIC ON OUTSIDE INTERFACE#####
###################################################
$cmd 016 allow all from any to 192.168.0.100 out via $LanOut
$cmd 017 allow all from any to 192.168.0.100 in via $LanOut
$cmd 018 allow all from 192.168.0.100 to any out via $LanOut
$cmd 019 allow all from 192.168.0.100 to any in via $LanOut
$cmd 020 $skip tcp from any to 217.29.116.1 53 out via $LanOut setup $ks
$cmd 021 $skip tcp from any to 217.29.116.2 53 out via $LanOut setup $ks
$cmd 040 $skip tcp from any to any 80 out via $LanOut setup $ks
$cmd 050 $skip tcp from any to any 443 out via $LanOut setup $ks
$cmd 060 $skip tcp from any to any 25 out via $LanOut setup $ks
$cmd 061 $skip tcp from any to any 110 out via $LanOut setup $ks
$cmd 070 $skip tcp from me to any out via $LanOut setup $ks uid root
$cmd 080 $skip icmp from any to any out via $LanOut $ks
$cmd 090 $skip tcp from any to any 37 out via $LanOut setup $ks
$cmd 100 $skip tcp from any to any 119 out via $LanOut setup $ks
$cmd 110 $skip tcp from any to any 22 out via $LanOut setup $ks
$cmd 120 $skip tcp from any to any 43 out via $LanOut setup $ks
$cmd 130 $skip udp from any to any 123 out via $LanOut $ks
###################################################
#####FOR INCOMING TRAFFIC ON OUTSIDE INTERFACE#####
###################################################
$cmd 301 deny all from 172.16.0.0/12 to any in via $LanOut
$cmd 302 deny all from 10.0.0.0/8 to any in via $LanOut
$cmd 303 deny all from 127.0.0.0/8 to any in via $LanOut
$cmd 304 deny all from 0.0.0.0/8 to any in via $LanOut
$cmd 305 deny all from 169.254.0.0/16 to any in via $LanOut
$cmd 306 deny all from 192.0.2.0/24 to any in via $LanOut
$cmd 307 deny all from 204.152.64.0/23 to any in via $LanOut
$cmd 308 deny all from 224.0.0.0/3 to any in via $LanOut
$cmd 309 deny all from any to any 445 in via $LanOut
$cmd 315 deny tcp from any to any 113 in via $LanOut
$cmd 320 deny tcp from any to any 137 in via $LanOut
$cmd 321 deny tcp from any to any 138 in via $LanOut
$cmd 322 deny tcp from any to any 139 in via $LanOut
$cmd 323 deny tcp from any to any 81 in via $LanOut
$cmd 330 deny all from any to any frag in via $LanOut
$cmd 370 allow tcp from any to me 80 in via $LanOut setup limit src-addr 2
$cmd 380 allow tcp from any to me 22 in via $LanOut setup limit src-addr 2
$cmd 399 deny icmp from any to any in via $LanOut
$cmd 400 allow tcp from any to 192.168.20.2 dst-port 8080,21 via re1
$cmd 401 allow tcp from any to 192.168.20.2 dst-port 8080,21 via re2
$cmd 800 divert natd ip from any to any out via $LanOut
$cmd 801 allow ip from any to any
$cmd 999 deny log all from any to any
#############THE END###############root@FreeBSD:/ #
Пробовал правила, присваивая им номера 002, 003 и 014, 015:
allow all from 192.168.0.100 to any
allow all from any to 192.168.0.100
allow all from 192.168.0.100 to any via $LanOut
allow all from any to 192.168.0.100 via $LanOut
allow tcp from 192.168.0.100 20,21 to any via $LanOut
allow tcp from any to 192.168.0.100 20,21 via $LanOut
но не получается.
Уже третью неделю бьюсь... Помогите, пожалуйста, понять, что я делаю не так, и почему не работают правила?
Заранее всем благодарен и признателен за Ваши ответы и разъяснения
С уважением,
Илья
Re: Помогите с правилами ipfw
Добавлено: 2014-08-16 11:18:19
snorlov
Нафиг стоко правил то? У вас шлюз интернета позволяет иметь дополнительную таблицу маршрутизации? Если да, то просто пропишите на нем сетку lan-2, на внутреннем роутере снимите нат, т.е. сделайте его обычным роутером, ну и пропишите правила доступа с интенетовского шлюза к lan-2, и с lan-2 к нему, а все остальное запретите...
Re: Помогите с правилами ipfw
Добавлено: 2014-08-16 12:10:06
Labaman
Так, ладно с большинством вопросов разобрался.
Остался самый главный:
У меня при текущем подходе из локальной подсети (192.168.0.0/24) не видно внешней подсети (192.168.1.0/24). Как сделать так, чтобы подсеть 192.168.0.0/24 видела подсеть 192.168.1.0/24?
Re: Помогите с правилами ipfw
Добавлено: 2014-08-16 12:24:15
snorlov
Станции виндовые, поэтому 3-и способа:
1. Заставить всех регистрироваться в одном днс'е
2. Поставить в каждом сегменте по сервису WINS и настроить репликацию друг на друга
3. Всех свести в один сегмент, при этом настроить чтобы не было броадкастов, wins мода 0х8
А больше никак ...
Re: Помогите с правилами ipfw
Добавлено: 2014-08-16 12:29:56
Labaman
По-поводу DNS по-подробнее, если можно.
На самом деле мне нужно куда меньше - в подсети 192.168.1.0/24 торчит только один ADSL роутер c адресом 192.168.1.1
Мне нужно чтобы роутер был доступен с моего компа с адресом 192.168.0.11, а все остальные и не должны догадываться о его существовании.
Re: Помогите с правилами ipfw
Добавлено: 2014-08-16 12:38:00
snorlov
Может не получиться, поскольку некоторые adsl-роутеры натят только ту внутренную сетку, к который принадлежит их ip и вдобавок там не прописать дополнительный маршрут на другую сеть. А так смотрите на свою модельку и ее свойства...
Re: Помогите с правилами ipfw
Добавлено: 2014-08-16 12:42:05
underground
Вот и у меня ситуация схожая, только вместо роутера - компьютер (192.168.0.100), на котором лежат шары, а остальные пользователи сети LAN-1 (192.168.0.0/24) не должны подозревать о существовании пользователей сети LAN-2 (192.168.20.0/24), кроме этого сервера (192.168.0.100).
Re: Помогите с правилами ipfw
Добавлено: 2014-08-16 12:57:13
Labaman
Блин ну на линуксе как-то у меня без дополнительной настройки модема все шло....
Неужели никак пробросить нельзя?
Re: Помогите с правилами ipfw
Добавлено: 2014-08-16 13:09:50
underground
Я просто не могу понять, где у меня ошибка...
Вот смотрите: для LAN-2 (192.168.20.0/24) вся сеть LAN-1(192.168.0.0/24) является внешней. Изнутри, т.е. из LAN-2 наружу все разрешено. Причем если я ставлю firewall_type="OPEN" в /etc/rc.conf, то сразу же можно попасть из LAN-2 в LAN-1 вообще на любую машину, что не так страшно, но и из LAN-1 в LAN-2 тоже с любой, чего я всеми силами хочу избежать.
Re: Помогите с правилами ipfw
Добавлено: 2014-08-17 6:37:48
Labaman
Вот взял netstat с работающей машины, правда linux:
Код: Выделить всё
netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.252 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Я полагаю, что мне нужно довести мой netstat
Код: Выделить всё
netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.1.1 UGS 0 87 nfe0
127.0.0.1 link#2 UH 0 0 lo0
192.168.0.0/24 link#3 U 0 306 ue0
192.168.0.1 link#3 UHS 0 0 lo0
192.168.1.0/24 link#1 U 0 92 nfe0
192.168.1.2 link#1 UHS 0 0 lo0
Примерно до такого же состояния:
Код: Выделить всё
netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.1.1 UGS 0 87 nfe0
127.0.0.1 link#2 UH 0 0 lo0
192.168.0.0/24 192.168.1.1 U 0 306 ue0
192.168.0.1 192.168.1.1 UHS 0 0 lo0
192.168.1.0/24 192.168.1.1 U 0 92 nfe0
192.168.1.2 192.168.1.1 UHS 0 0 lo0
Вот только подскажите как?
Re: Помогите с правилами ipfw
Добавлено: 2014-08-17 11:01:29
snorlov
underground писал(а):Я просто не могу понять, где у меня ошибка...
Вот смотрите: для LAN-2 (192.168.20.0/24) вся сеть LAN-1(192.168.0.0/24) является внешней. Изнутри, т.е. из LAN-2 наружу все разрешено. Причем если я ставлю firewall_type="OPEN" в /etc/rc.conf, то сразу же можно попасть из LAN-2 в LAN-1 вообще на любую машину, что не так страшно, но и из LAN-1 в LAN-2 тоже с любой, чего я всеми силами хочу избежать.
У вас нет понимания как работает ipfw, почитайте статью на сайте, там кажется есть и диаграмма хождения пакетов по правилам...
Re: Помогите с правилами ipfw
Добавлено: 2014-08-18 11:05:48
underground
snorlov писал(а):
У вас нет понимания как работает ipfw, почитайте статью на сайте, там кажется есть и диаграмма хождения пакетов по правилам...
Если Вас не затруднит, дайте ссылочку на сайт... Возможно мы имеем в виду разные сайты...
Re: Помогите с правилами ipfw
Добавлено: 2014-08-18 11:22:22
snorlov
underground писал(а):snorlov писал(а):
У вас нет понимания как работает ipfw, почитайте статью на сайте, там кажется есть и диаграмма хождения пакетов по правилам...
Если Вас не затруднит, дайте ссылочку на сайт... Возможно мы имеем в виду разные сайты...
http://www.lissyara.su/articles/freebsd ... /ipfw_nat/