Автор Тема: как использовать nat для записи правил iptables?  (Прочитано 3852 раз)

Оффлайн DiX

  • Участник
  • *
  • Сообщений: 88
для раздачи интернет в локальную сеть использую nat, где прописаны правила маршрутизации (спасибо Drool).
можно ли добавить туда цепочки, которые будут блокировать доступ к серверу извне
типа -A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable
если можно, то каким образом: через && iptables далее цепочка?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Внести правила в /etc/net/ifaces/default/fw/iptables/filter/INPUT

Оффлайн DiX

  • Участник
  • *
  • Сообщений: 88
Внести правила в /etc/net/ifaces/default/fw/iptables/filter/INPUT
thanks, записал, что нужно в INPUT и FORWARD. как бы теперь проверить работоспособность?
и еще - я с форума стиснул правило для записи логов, а вот куда они пишутся не разобрался
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options

MisHel64

  • Гость
thanks, записал, что нужно в INPUT и FORWARD. как бы теперь проверить работоспособность?
Перед блокировкой, добавте вывод в лог с теми же условиями. Лимит только не забудте дописать, а то могут быть сюрпризы.

и еще - я с форума стиснул правило для записи логов, а вот куда они пишутся не разобрался
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options
В системный лог. Посмотрите на 12м экране, туда то же выводятся.
Для логов можно использовать еще и префикс сообщения, для наглядности.

-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options
Не оптимально. Лучше заменить на проверку по статусу, и выводить новые и для TCP и UDP протокола.

MisHel64

  • Гость
Внести правила в /etc/net/ifaces/default/fw/iptables/filter/INPUT
А почему именно в дефаулт, а не в опции конкретного интерфейса?
В данном случае ETH0?

Оффлайн DiX

  • Участник
  • *
  • Сообщений: 88
thanks, записал, что нужно в INPUT и FORWARD. как бы теперь проверить работоспособность?
Перед блокировкой, добавте вывод в лог с теми же условиями. Лимит только не забудте дописать, а то могут быть сюрпризы.

и еще - я с форума стиснул правило для записи логов, а вот куда они пишутся не разобрался
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options
В системный лог. Посмотрите на 12м экране, туда то же выводятся.
Для логов можно использовать еще и префикс сообщения, для наглядности.

-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options
Не оптимально. Лучше заменить на проверку по статусу, и выводить новые и для TCP и UDP протокола.
лимит чего дописать? я правила тупо стянул, поэтому половину из записанного принимаю на веру (не понимаю) )
насчет интерфейса - понял, осознал ) у меня внешний eth1. только для этого интерфейса нет папки fw и проча
и где находится системный лог?
« Последнее редактирование: 13.04.2010 14:46:58 от DiX »

MisHel64

  • Гость
лимит чего дописать?
Лимит количества выводов. Поиск в мане по слову LIMIT.

я правила тупо стянул, поэтому половину из записанного принимаю на веру (не понимаю) )
А зря. Чтение манов вам поможет. И переведенной на русский язык документации море.

у меня внешний eth1. только для этого интерфейса нет папки fw и проча
Нет, так создайте. Полностью по аналогии с дефаултом, или загляните в примеры на etcnet.

и где находится системный лог?
Посмотрите в /etc/syslog.conf там есть ответ на ваш вопрос.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Внести правила в /etc/net/ifaces/default/fw/iptables/filter/INPUT
А почему именно в дефаулт, а не в опции конкретного интерфейса?
В данном случае ETH0?
Так проще.

Оффлайн DiX

  • Участник
  • *
  • Сообщений: 88
Внести правила в /etc/net/ifaces/default/fw/iptables/filter/INPUT
А почему именно в дефаулт, а не в опции конкретного интерфейса?
В данном случае ETH0?
Так проще.
тогда какой из двух интерфейсов будет default? альтератор определяет eth0 как внешний, а eth1 как внутренний. реально же все наоборот
спасибо за помощь - читаю etcnet...
можно ли как-нибудь проверить работоспособность fw (блокирование доступа извне)? и посмотреть, что fw запущен (не делать же efw ... start каждый раз для верности) )
« Последнее редактирование: 14.04.2010 12:38:37 от DiX »

MisHel64

  • Гость
1) тогда какой из двух интерфейсов будет default?
2) альтератор определяет eth0 как внешний, а eth1 как внутренний. реально же все наоборот
3) спасибо за помощь - читаю etcnet...
4) можно ли как-нибудь проверить работоспособность fw (блокирование доступа извне)? и посмотреть, что fw запущен (не делать же efw ... start каждый раз для верности) )
1) Вопрос не имеет смысла. Точный ответ никакой и никогда.
2) Альтератор ничего не может определять. Вспоминайте, где сами ему сказали, какой интерфейс куда смотрит.
3) Дочитаете, получите точный ответ на первый вопрос.
4) Не только дропить входящие пакеты, но и отправлять в лог их. Тогда увидите на 12м экране.

Оффлайн DiX

  • Участник
  • *
  • Сообщений: 88
с правилами разобрался (на начальном уровне). лог так и не нашел. /etc/syslog.conf не содержит хоть какой нибудь информации о fw или iptables, в /var/log тоже ничего подходящего (тем более пресловутой 12-й страницы). в каком то логе увидел, как iptables грузится - уже плюс
« Последнее редактирование: 15.04.2010 11:17:51 от DiX »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Для того, что-бы iptables что-то кинул в логи, это надо в его правилах прописать.

Оффлайн DiX

  • Участник
  • *
  • Сообщений: 88
Для того, что-бы iptables что-то кинул в логи, это надо в его правилах прописать.
в INPUT такую строчку я записал -A -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options
« Последнее редактирование: 15.04.2010 11:17:20 от DiX »

Оффлайн black_13

  • Участник
  • *
  • Сообщений: 657
  • Gentoo + Debian + ALT
    • diff.org.ua
Цитировать
Для того, что-бы iptables что-то кинул в логи, это надо в его правилах прописать.
+ и по этому правилу должно чтото пройти :)
root@gw: ~# iptables -L -v -nВ студию!

Оффлайн DiX

  • Участник
  • *
  • Сообщений: 88
Цитировать
Для того, что-бы iptables что-то кинул в логи, это надо в его правилах прописать.
+ и по этому правилу должно чтото пройти :)
root@gw: ~# iptables -L -v -nВ студию!
часть, касающаяся внешнего интерфейса...
 0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:8080 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:53 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:53 reject-with icmp-port-unreachable
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:20
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:20
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:21
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:21
    0     0 ACCEPT     icmp --  eth1   *       0.0.0.0/0            192.168.1.2
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:143 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:143 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:220 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:220 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:993 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:993 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:109 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:109 reject-with icmp-port-unreachable
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:110
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:110
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:995
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:995
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:3128
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:137 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:137 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:138 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:138 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:139 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:139 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:445 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:445 reject-with icmp-port-unreachable
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:25
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:25
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:465
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:587
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:587
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:161
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:161
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:162
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:22 reject-with icmp-port-unreachable
    0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:23 reject-with icmp-port-unreachable
    0     0 REJECT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:23 reject-with icmp-port-unreachable
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:80
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:80
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            192.168.1.2         tcp dpt:443
    0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            192.168.1.2         udp dpt:443