1

Переехал я с Debian на SLES, с базовыми настройками SuSEFirewall вроде разобрался. Но тут возникла необходимость создать еще один алиас на внешнем интерфейсе и прокинуть порты с него на машину во внутренней сети. Алиас 217.195.83.73, машина внутри сети 192.168.1.245

Раньше в iptables были такие строки:

iptables -t nat -A PREROUTING -p tcp -m tcp -d 217.195.83.73 -m multiport --dports 25,80,1352,1935 -j DNAT --to-destination 192.168.1.245
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.245 -m multiport --sports 25,80,1352,1935 -j SNAT --to-source 217.195.83.73

iptables -t nat -A PREROUTING -p icmp -m icmp -d 217.195.83.73 -j DNAT --to-destination 192.168.1.245
iptables -t nat -A POSTROUTING -p icmp -s 192.168.1.245 -j SNAT --to-source 217.195.83.73

Как создать такие же правила в SuSEFirewall? И нужно ли указывать алиас eth0:0 во внешних интерфейсах?

2 (15.11.2010 13:16:21 отредактировано tmp13)

Помнится как то наткнулся на сайт:
http://mysuse.com.ua/main/act/articles/show/26
тут в краце написанно.
+ есть такая штука там как

Раздел 25
Вы хотите подгружать свои правила iptables из файла?

а мб найдёте там конкретную опцию которая поможет в этом деле)

3

По разделу 25 я пробовал вставлять свои правила - не работает этот способ. После рестарта файервола iptables-save не показывает тех правил, что я добавил в тот файл. При этом сам файервол не ругается на конфиг.
Конкретную опцию тоже там не нашел

4

Нашёл подобную тему:
http://unixforum.org/index.php?showtopic=111464 мб поможет

5 (22.11.2010 12:17:43 отредактировано UTiM)

Собственно, не буду цитировать сам себя: http://unixforum.org/index.php?s=&s … ;p=1046537. Если на внешнем у вам подният NAT, то нужно настроить FW_FORWARD_MASQ.
что-то вроде "FW_FORWARD_MASQ=0/0,192.168.1.245,TCP,80,80,217.195.83.73" - или какие вам там надо порты... И еще раз - настраивайте все через SuseFirewall, а он за вас настроит iptables, а не наоборот....
Ну и вот вам вебморда для SuseFirewall (скоро будет обновление....)

6 (17.11.2010 17:32:59 отредактировано valday666)

Спасибо, вроде идею понял. А не подскажите еще такую вещь:
у меня общая сеть 192.168.0.0/16 и для всех должны быть закрыты все порты, а для подсети 192.168.1.0/24 наоборот, открыто все. Это сделал

FW_MASQ_NETS="192.168.1.0/24,0/0"

Но теперь оказалось, что в сети есть зараженный комп, который шлет спам и я оказываюсь в черных списках. Теперь я хочу закрыть для всей сети 25 порт и открыть его только для 2-3 адресов.
Если все это настраивать через FW_MASQ_NETS, получится слишком большой список, да и в какой последовательности писать исключающие правила... Может на этот случай есть какие-то правила в настройке SuSEFirewall, чтобы облегчить задачу настройки?
Как полностью отключить 25 порт от этой сети понял

FW_NOMASQ_NETS="192.168.1.0/24,0/0,tcp,25

7

valday666 пишет:

Теперь я хочу закрыть для всей сети 25 порт и открыть его только для 2-3 адресов.

Например так:
FW_MASQ_NETS="192.168.1.0/24,0/0,UDP  192.168.1.0/24,0/0,ICMP 192.168.1.0/24,0/0,TCP,1:24 192.168.1.0/24,0/0,TCP,26:65535  192.168.1.100,0/0,TCP,25"

По 25-му ходит только 192.168.1.100

8

Спасибо! Теперь суть ясна
А в FW_REDIRECT как можно задать списки исключения? Мне нужно траффик с 192.168.1.0/16 завернуть на прокси, но при этом с десяток адресов нужно будет пропустить и идут они не по порядку... Как я понял, что-то типа FW_NOREDIRECT не существует в SuSEFIrewall?

9

Кстати, на 192.168.1.0/24,0/0,ICMP файрвол пишет, что знает только tcp и udp

10

Есть FW_FORWARD_REJECT и FW_FORWARD_DROP - см. описание.

Да в первом случае можно попробовать

FW_NOMASQ_NETS="!192.168.1.100/24,0/0,tcp,25"

Типа закрыть 25 для всех, кроме 192.168.1.100  - но это надо пробовать, там по описанию в некоторых правилах знак отрицания ("!") упоминается, но надо проверять - что получится...

11 (18.11.2010 20:00:34 отредактировано UTiM)

Странно, только что проверил FW_MASQ_NETS="0/0,0/0,icmp" - сожрало нормально - смотрите орфографию или регистр...

Да, вариант FW_NOMASQ_NETS="!192.168.1.100/24,0/0,tcp,25" жрет, только поругивается на устаревший формат команды... Но результат надо проверять...

12

В связи с сезонным увеличением интереса к SuseFirewall - опубликовал последнюю сборку веб-интерфейса, адаптированную для "начинающих" Читаем описание и берем здесь: http://unixforum.org/index.php?s=&s … p;p=978028

13

А старую версию нужно было удалять? У меня теперь при перечитывания конфигурации выскакивает

Notice: Undefined property: xmlfw::$data in /usr/share/osfw/sf_editor/inc/class.boedit.inc.php on line 515 Warning: array_key_exists() expects parameter 2 to be array, null given in /usr/share/osfw/sf_editor/inc/class.boedit.inc.php on line 523

14

По идее старую удалять не надо, но если снесете - настройки не потеряются. Апач после инсталяции перезапустили? Перезапустите и войдите повторно. Кроме того - если файл фаервола подвергался "ручной" правке - могут быть сбои - восстановите его кнопкой "Восстановит" на главной странице в дополнительном меню кнопок (зеленые стрелочки) При восстановлении ваши настройки перейдут в файл Old_SuSEfirewall в списке файлов конфигурации и он будет "починен". Загрузите его обратно в конфигуратор и нажмите "Применить". Обязательно отпишите - что получилось...

15

Поправил описание установки, там есть мелкий глючек при обновлении - см. http://unixforum.org/index.php?showtopi … ;p=1117096

16

Да, после рестарта апача ошибки исчезли ab
Конфиг загрузил и применил, сверил - все на месте.
Кстати, не подскажите, как избавится от этих ошибок при старте SuSEfirewall? Я в SLES указывал репозитории OpenSuSE и после обновления они появились

 Консоль:
ns1:/etc/sysconfig # rcSuSEfirewall2 restart
Starting Firewall Initialization (phase 2 of 2) WARNING: All config files need .conf: /etc/modprobe.d/generic_serial-blacklist, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/generic_serial-blacklist, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/generic_serial-blacklist, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/generic_serial-blacklist, it will be ignored in a future release.

17

Эти "варнинги" скорее всего безвредны и горорят, что какие-то конфиги устарели в применятся не будут (потом или уже сейчас). Вообще, если уж стоить не самый древний SLES (хотя-бы 10-й) то нестоит обновлять SuSEfirewall из  чужого репозитория. Все-таки SLES - это "стабильность", а ничего экстра-полезного в новых фаерволах не появилось, а вот несовместимоть - типа вышеприведенной - легко словить.

18

А как разрешить пинги, чтобы из локальной сети можно было пинговать внешние ресурсы?
У меня сейчас в файерволе прописано:

FW_ALLOW_PING_FW="yes"
FW_ALLOW_PING_EXT="yes"
FW_ALLOW_PING_DMZ="yes"

Но при этом адреса только резольвятся, но не пингуются. Что-то дополнительно нужно указать?

19

valday666 пишет:

А как разрешить пинги, чтобы из локальной сети можно было пинговать внешние ресурсы?
У меня сейчас в файерволе прописано:

FW_ALLOW_PING_FW="yes"
FW_ALLOW_PING_EXT="yes"
FW_ALLOW_PING_DMZ="yes"

Но при этом адреса только резольвятся, но не пингуются. Что-то дополнительно нужно указать?

Это Вы разрешили пинговать шлюз и компы в соотв. зонах из других зон (см. переводы -  не зря-ж я трудился), а вам для пинга во вне через NAT надо в FW_MASQ_NETS добавить типа "0/0,0/0,icmp"

20

Спасибо! У меня было такое правило и с ним не работало

FW_MASQ_NETS="192.168.0.0/16,0/0,icmp"

Поставил

FW_MASQ_NETS="0/0,0/0,icmp"

все пошло