Автор Гілка: Iptables NAT  (Прочитано 1643 раз)

Відсутній Smith

  • Новачок
  • *
  • дописів: 37
  • Карма: +0/-0
  • Kharkiv LUG
Iptables NAT
« : 2006-09-28 11:30:55 »
добридень!
щось я заплутався і не можу зрозуміти що не так. Є скрипт у якому є рядок
/sbin/iptables -t nat -A PREROUTING -p tcp -d 10.10.10.8 --dport 8888 -j DNAT --to-destination 10.10.10.11:80
коли я намагаюсь його запустити отримую таку відповідь:
gefest iptables # ./startfw
FATAL: Module iptables_nat not found.
роблю lsmod:
gefest ~ # lsmod
Module                  Size  Used by
iptable_filter          2304  0
iptable_nat             4996  0
ip_nat                 12460  1 iptable_nat
ip_tables               9816  2 iptable_filter,iptable_nat

різниця лише у тому, що у лістінгу lsmod'а модуль зветься iptable_nat, а у помилці скрипта він зветься iptables_nat. у ядрі начеб-то все що треба підключив.
 я хочу щоб у мене працював нат, якщо точніше, то DNAT. що я роблю не так?

дякую

« Змінено: 2006-09-28 11:31:18 від Smith »

Відсутній Smith

  • Новачок
  • *
  • дописів: 37
  • Карма: +0/-0
  • Kharkiv LUG
Re: Iptables NAT
« Відповідей #1 : 2006-09-29 09:15:16 »
як я зрозумів ніхто натом в айпітаблісі не корестується...

Praporshic

  • Гість
Re: Iptables NAT
« Відповідей #2 : 2006-09-29 09:42:29 »
А спробуйте не завантажувати той модуль через скрипт. Я коли робив NAT писав конфіг для iptables-restore і невеличкий скрпт у кілька строк що піднімав ці налаштування при завантаженні. Окрім того, для де-яких дистрів редагування конфіга є більш ідеологічно правильним ніж написання  загального скрипта.

Відсутній Smith

  • Новачок
  • *
  • дописів: 37
  • Карма: +0/-0
  • Kharkiv LUG
Re: Iptables NAT
« Відповідей #3 : 2006-09-29 16:23:43 »
я його не завантажую у скрипті. мій дистрибутив gentoo.
дякую за допомогу

Praporshic

  • Гість
Re: Iptables NAT
« Відповідей #4 : 2006-09-29 19:48:32 »
Для Gentoo:
/etc/conf.d/iptables - налаштування стосовно місця збереження правил та додаткові параметри (накшталт зберігання правил при вимиканні/перезавантаженні системи).
У змінній IPTABLES_SAVE прописуєте місце зберігання правил (за замовчуванням - /var/lib/iptables/rules-save)
Редагуєте цей фал додаючи потрібні правила. В мене (Gentoo 2006.1 server profile) він виглядає так:
Цитата
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PSCAN - [0:0]
:SSH_BF - [0:0]
[0:0] -A INPUT -s 0.0.0.0/255.0.0.0 -i eth0 -j DROP
[0:0] -A INPUT -s 1.0.0.0/255.0.0.0 -i eth0 -j DROP
[0:0] -A INPUT -s 127.0.0.0/255.0.0.0 -i lo -j ACCEPT
[0:0] -A INPUT -s 127.0.0.0/255.0.0.0 -j DROP
[0:0] -A INPUT -s 10.0.0.0/255.0.0.0 -i eth0 -j DROP
[0:0] -A INPUT -s 172.16.0.0/255.240.0.0 -i eth0 -j DROP
[0:0] -A INPUT -d 255.255.255.255 -j DROP
[0:0] -A INPUT -s 169.254.0.0/255.255.0.0 -i eth0 -j DROP
[0:0] -A INPUT -i eth0 -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP
[0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
[0:0] -A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
[0:0] -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
[0:0] -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
[0:0] -A INPUT -i eth0 -p tcp -j PSCAN
[0:0] -A INPUT -d 62.149.13.87 -p tcp -m tcp --dport 443 -j ACCEPT
[0:0] -A INPUT -d 62.149.13.87 -p tcp -m tcp --dport 80 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
[0:0] -A INPUT -p udp -m udp --dport 53 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 5678 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource -j SSH_BF
[0:0] -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG SYN -m limit --limit 1/sec --limit-burst 4 -j RETURN
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG SYN -m limit --limit 2/min --limit-burst 2 -j LOG --log-prefix "SYN flood:"
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG SYN -j DROP
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -m limit --limit 1/sec --limit-burst 4 -j RETURN
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -m limit --limit 2/min --limit-burst 2 -j LOG --log-prefix "Xmas portscan:"
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN -m limit --limit 1/sec --limit-burst 4 -j RETURN
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN -m limit --limit 2/min --limit-burst 2 -j LOG --log-prefix "SYN FIN portscan:"
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN -j DROP
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 1/sec --limit-burst 4 -j RETURN
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 2/min --limit-burst 2 -j LOG --log-prefix "SYN RST portscan:"
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -m limit --limit 2/min --limit-burst 2 -m state --state INVALID,NEW,RELATED,UNTRACKED -j LOG --log-prefix "FIN portscan:"
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -m state --state INVALID,NEW,RELATED,UNTRACKED -j DROP
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -m limit --limit 2/min --limit-burst 2 -j LOG --log-prefix "ALL flags portscan:"
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -m limit --limit 2/min --limit-burst 2 -j LOG --log-prefix "ALL flags portscan:"
[0:0] -A PSCAN -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
[0:0] -A SSH_BF -m recent ! --rcheck --seconds 120 --hitcount 5 --name SSH --rsource -j RETURN
[0:0] -A SSH_BF -j DROP
[0:0] -A SSH_BF -j LOG --log-prefix "SSH Brute Force Attempt:  "
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
Після цього:
# rc-update add iptables default
# /etc/init.d/iptables start
« Змінено: 2006-09-29 19:48:59 від Praporshic »

Відсутній Smith

  • Новачок
  • *
  • дописів: 37
  • Карма: +0/-0
  • Kharkiv LUG
Re: Iptables NAT
« Відповідей #5 : 2006-10-01 18:01:01 »
дякую за допомогу
як не дивно, але не зважаючи на помилку, iptables все-таки виконував нат. я трохи зтупив, треба було перевірити :( я бачив що він видавав помилку, тим більш що FATAL, і навіть не думав що він все ж таки натить. дивно...