Доброго всем времени суток.
Возникла потребность в перебросе портов с компьютера локальной сети в интернет. Но вся инфа по поводу этого мне ничего не дала поэтому решил спросить у гуру.

Есть сервер на базе FC14, в нем 2 сетевых интерфейса

eth0 - Интернет (Работает на прямую с Динамическим IP)
eth1 - Локалка (диапазон IP 192.168.10.*, адрес самой карты *.10.1)

На сервере стоят DNSMASQ и SQUID (прозрачный, только для кеширования) Интернет раздается по средствам ната.
Вопрос: КАК мне перенаправить, средствами iptables, порт 3553 с машины 192.168.10.70 в интернет. Чтобы осуществить соединение через терминал???

Вот конфиг IPtables

# Generated by iptables-save v1.4.9 on Fri Sep 16 14:53:49 2011
*nat
:PREROUTING ACCEPT [512:38102]
:OUTPUT ACCEPT [98:7848]
:POSTROUTING ACCEPT [3:2126]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 3553 -j DNAT --to-destination  (IP интернет соединения)
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.1:3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth1 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.10.1:3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 3128
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Fri Sep 16 14:53:49 2011
# Generated by iptables-save v1.4.9 on Fri Sep 16 14:53:49 2011
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [212:96518]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3553 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 67 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 68 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -d   (IP интернет соединения) -i eth1 -p tcp -m state --state NEW -m tcp --dport 3553 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 3553 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -m tcp --dport 3553 -j ACCEPT
COMMIT
# Completed on Fri Sep 16 14:53:49 2011

там много мусора так как я проводил кучу эксперементов которые мне ничего хорошего не принесли(

Помогите решить проблему.

#su -
#yum install LIVE

2 (16.09.2011 16:38:02 отредактировано zenon)

GLADIATOR13, http://zenon.sytes.net/probros-porta-v-iptables
Для правил скрипт? Выкладывай целиком, так сложно разбирать, и пользуйся тегами "code, console, spoiler" http://linuxforum.ru/help.php?section=bbcode

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

3

Никаких скриптов нет. Всё прописанно в конфиге iptables и всё.

Собственно больше то и выкладывать нечего.

#su -
#yum install LIVE

4

Попробовал пользватся тем что предложили. Опять не удача.
Вот что в статусе iptables:

iptables -L -n -v -t nat
Chain PREROUTING (policy ACCEPT 1365 packets, 106K bytes)
 pkts bytes target     prot opt in     out     source               destination         
  891 43716 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 to:192.168.10.1:3128 
    0     0 REDIRECT   tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 3128 
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 to:192.168.10.1:3128 
    0     0 REDIRECT   tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 redir ports 3128 

Chain OUTPUT (policy ACCEPT 202 packets, 12621 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  309 19822 MASQUERADE  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           
    0     0 SNAT       tcp  --  *      *       192.168.10.1        !192.168.10.79       tcp dpt:3553 to:  (IP интернет соединения)
    0     0 SNAT       tcp  --  *      *       192.168.10.1         192.168.10.79       tcp dpt:3553 to: (IP интернет соединения)
    0     0 SNAT       tcp  --  *      *       192.168.10.79        192.168.10.0/24     tcp dpt:3553 to: (IP интернет соединения)
#su -
#yum install LIVE

5

GLADIATOR13, ну конфиг iptables-save был же как-то создан? С помощью чего и как?

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

6

Руками.
Прописал нужные команды в консоли потом вел команду iptables save

нынешний конфиг iptables

# Generated by iptables-save v1.4.9 on Fri Sep 16 18:19:16 2011
*nat
:PREROUTING ACCEPT [474:36262]
:OUTPUT ACCEPT [112:8578]
:POSTROUTING ACCEPT [7:1157]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.1:3128 
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 
-A PREROUTING -i eth1 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.10.1:3128 
-A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 3128 
-A POSTROUTING -o eth0 -j MASQUERADE 
-A POSTROUTING -s 192.168.10.1/32 ! -d 192.168.10.79/32 -p tcp -m tcp --dport 3553 -j SNAT --to-source  (IP интернет соединения)
-A POSTROUTING -s 192.168.10.1/32 -d 192.168.10.79/32 -p tcp -m tcp --dport 3553 -j SNAT --to-source  (IP интернет соединения)
-A POSTROUTING -s 192.168.10.79/32 -d 192.168.10.0/24 -p tcp -m tcp --dport 3553 -j SNAT --to-source  (IP интернет соединения)
COMMIT
# Completed on Fri Sep 16 18:19:16 2011
# Generated by iptables-save v1.4.9 on Fri Sep 16 18:19:16 2011
*filter
:INPUT ACCEPT [666:72213]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [486:97864]
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -i eth1 -o eth0 -j ACCEPT 
COMMIT
# Completed on Fri Sep 16 18:19:16 2011
#su -
#yum install LIVE

7

Я правильно понимаю, что Вам необходимо, чтобы машина с айпи 192.168.10.70 могла коннектиться на порт 3553, который где-то там в Интернете?

8

Не могу так правила воспринимать, сделай скриптом одним скриптом, примерно так: http://linuxforum.ru/viewtopic.php?pid=176106#p176106

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

9

Если я правильно понял, что необходимо сделать, то в правилах вообще много лишнего

10

Hrafn

Нет, мне надо чтобы из интернета можно было присоеденится к машине 192.168.10.70 по порту 3553

newzenon

Хорошо переделаю скриптами покажу конф.  wink

#su -
#yum install LIVE

11

GLADIATOR13, за основу бери:

#!/bin/bash
# Тут в принципе может и не надо этого всего но не помеха
# вдруг какой модуль не подгружен или форвардинг не включен
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

# Объявление переменных
export IPT="iptables"

# Интерфейс который смотрит в интернет
export WAN=ppp0

# Локальная сеть
export LAN=eth1
export LAN_IP_RANGE=192.168.0.0/24

# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Закрываем изначально ВСЁ (т.е. изначально все что не разрешено - запрещено):
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

# разрешаем локальный траффик для loopback и внутренней сети
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i $LAN -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $LAN -j ACCEPT

# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Разрешить форвардинг для новых, а так же уже инициированных
# и их дочерних соединений
$IPT -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы
# и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Приводит к связыванию системных ресурсов, так что реальный
# обмен данными становится не возможным.
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Разрешаем доступ из внутренней сети наружу
$IPT -A FORWARD -i $LAN -o $WAN -j ACCEPT

# Запрещаем доступ снаружи во внутреннюю сеть
$IPT -A FORWARD -i $WAN -o $LAN -j REJECT

# Маскарадинг
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE -j MASQUERADE


# Далее дано как пример открытие портов извне:
# **********************************************************************
# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT

# Открытие портов для торрентов (такие же указать в torrent-клиенте)
$IPT -A INPUT -i $WAN -p tcp -m multiport --ports 49152:65535 -j ACCEPT

# Открытие 443 порта
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT

# Открываем 80 порт для веб сайтов
$IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -i $WAN -p udp --dport 80 -j ACCEPT

# Открытие портов для игровых серверов
$IPT -A INPUT -i $WAN -p tcp --dport 27010:27030 -j ACCEPT
$IPT -A INPUT -i $WAN -p udp --dport 27010:27030 -j ACCEPT

# Открытие порта для голосового сервера Team Speak
$IPT -A INPUT -i $WAN -p tcp --dport 9987 -j ACCEPT
$IPT -A INPUT -i $WAN -p udp --dport 9987 -j ACCEPT
# **********************************************************************
 
# Вывод информации о состоянии таблиц.
route -n
$IPT -L
$IPT -L -v -n
$IPT -L -v -n -t nat

Вот ещё примерчик интересный:

#!/sbin/runscript
IPTABLES=/sbin/iptables
IPTABLESSAVE=/sbin/iptables-save
IPTABLESRESTORE=/sbin/iptables-restore
FIREWALL=/etc/firewall.rules
DNS1=195.5.39.5
DNS2=195.5.39.9
#inside
IIP=10.19.2.10
IINTERFACE=eth0
LOCAL_NETWORK=10.19.2.0/24
#outside
OIP=172.16.0.9
OINTERFACE=eth1

opts="$ showstatus panic save restore showoptions rules"

depend() {
  need net procparam
}

rules() {
  stop
  ebegin "Setting internal rules"

  einfo "Setting default rule to drop"
  $IPTABLES -P FORWARD DROP
  $IPTABLES -P INPUT   DROP
  $IPTABLES -P OUTPUT  DROP

  #default rule
  einfo "Creating states chain"
  $IPTABLES -N allowed-connection
  $IPTABLES -F allowed-connection
  $IPTABLES -A allowed-connection -m state --state ESTABLISHED,RELATED -j ACCEPT
  $IPTABLES -A allowed-connection -i $IINTERFACE -m limit -j LOG --log-prefix "Bad packet from $:"
  $IPTABLES -A allowed-connection -j DROP

  #ICMP traffic
  einfo "Creating icmp chain"
  $IPTABLES -N icmp_allowed
  $IPTABLES -F icmp_allowed
#  $IPTABLES -A icmp_allowed -m state --state NEW -p icmp --icmp-type time-exceeded -j ACCEPT
#  $IPTABLES -A icmp_allowed -m state --state NEW -p icmp --icmp-type destination-unreachable -j ACCEPT
  $IPTABLES -A icmp_allowed -p icmp --icmp-type 4   -j ACCEPT
  $IPTABLES -A icmp_allowed -p icmp --icmp-type 12  -j ACCEPT
  $IPTABLES -A icmp_allowed -p icmp --icmp-type 3   -j ACCEPT
  $IPTABLES -A icmp_allowed -p icmp --icmp-type 11  -j ACCEPT
  $IPTABLES -A icmp_allowed -p icmp --icmp-type 8  -j ACCEPT
  $IPTABLES -A icmp_allowed -p icmp --icmp-type 0  -j ACCEPT
  $IPTABLES -A icmp_allowed -p icmp -j LOG --log-prefix "Bad ICMP traffic:"
  $IPTABLES -A icmp_allowed -p icmp -j DROP

  #Incoming traffic
  einfo "Creating incoming ssh traffic chain"
  $IPTABLES -N allow-ssh-traffic-in
  $IPTABLES -F allow-ssh-traffic-in
  #Flood protection
  $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL RST --dport ssh -j ACCEPT
  $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL FIN --dport ssh -j ACCEPT
  $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL SYN --dport ssh -j ACCEPT
  $IPTABLES -A allow-ssh-traffic-in -m state --state RELATED,ESTABLISHED -p tcp --dport ssh -j ACCEPT

  einfo "Creating incoming http traffic chain"
  $IPTABLES -N allow-www-traffic-in
  $IPTABLES -F allow-www-traffic-in
  #Flood protection
  $IPTABLES -A allow-www-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL RST --dport www -j ACCEPT
  $IPTABLES -A allow-www-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL FIN --dport www -j ACCEPT
  $IPTABLES -A allow-www-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL SYN --dport www -j ACCEPT
  $IPTABLES -A allow-www-traffic-in -m state --state RELATED,ESTABLISHED -p tcp --dport www -j ACCEPT

  einfo "Creating incoming ftp traffic chain"
  $IPTABLES -N allow-ftp-traffic-in
  $IPTABLES -F allow-ftp-traffic-in
  #Flood protection
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL RST -s 10.19.2.0/24 --sport ftp -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL FIN -s 10.19.2.0/24 --sport ftp -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL SYN -s 10.19.2.0/24 --sport ftp -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -s 10.19.2.0/24 --sport ftp -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL RST -s 10.19.2.0/24 --sport 1024:65365 -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL FIN -s 10.19.2.0/24 --sport 1024:65365 -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL SYN -s 10.19.2.0/24 --sport 1024:65365 -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -s 10.19.2.0/24 --sport 1024:65365 -j ACCEPT
  
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL RST -s 172.16.0.0/24 --sport ftp -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL FIN -s 172.16.0.0/24 --sport ftp -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL SYN -s 172.16.0.0/24 --sport ftp -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -s 172.16.0.0/24 --sport ftp -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL RST -s 172.16.0.0/24 --sport 1024:65365 -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL FIN -s 172.16.0.0/24 --sport 1024:65365 -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL SYN -s 172.16.0.0/24 --sport 1024:65365 -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -s 172.16.0.0/24 --sport 1024:65365 -j ACCEPT
    
  #Music
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL RST --dport 8020 -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL FIN --dport 8020 -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL SYN --dport 8020 -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -m tcp --dport 8020 -j ACCEPT

  einfo "Creating incoming smb traffic chain"
  $IPTABLES -N allow-smb-traffic-in
  $IPTABLES -F allow-smb-traffic-in
  $IPTABLES -A allow-smb-traffic-in -p tcp --tcp-flags ALL SYN -s 10.19.20.0/24 --dport netbios-ssn -j ACCEPT
  $IPTABLES -A allow-smb-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -s 10.19.20.0/24 --dport netbios-ssn -j ACCEPT
  $IPTABLES -A allow-smb-traffic-in -p udp -s 10.19.20.0/24 --dport netbios-ns -j ACCEPT
  $IPTABLES -A allow-smb-traffic-in -p udp -s 10.19.20.0/24 --dport netbios-dgm -j ACCEPT
  $IPTABLES -A allow-smb-traffic-in -p udp -s 10.19.20.0/24 --dport 445 -j ACCEPT

  einfo "Creating incoming ntp traffic chain"
  $IPTABLES -N allow-time-traffic-in
  $IPTABLES -F allow-time-traffic-in
  $IPTABLES -A allow-time-traffic-in -p udp --dport ntp -j ACCEPT

  #Outgoing traffic
  einfo "Creating outgoing ssh traffic chain"
  $IPTABLES -N allow-ssh-traffic-out
  $IPTABLES -F allow-ssh-traffic-out
  $IPTABLES -A allow-ssh-traffic-out -p tcp --dport ssh -j ACCEPT

  einfo "Creating outgoing dns traffic chain"
  $IPTABLES -N allow-dns-traffic-out
  $IPTABLES -F allow-dns-traffic-out
  $IPTABLES -A allow-dns-traffic-out -p udp -d $DNS1 --dport domain -j ACCEPT
  $IPTABLES -A allow-dns-traffic-out -p udp -d $DNS2 --dport domain -j ACCEPT

  einfo "Creating outgoing http/https traffic chain"
  $IPTABLES -N allow-www-traffic-out
  $IPTABLES -F allow-www-traffic-out
  $IPTABLES -A allow-www-traffic-out -p tcp --dport www -j ACCEPT
  $IPTABLES -A allow-www-traffic-out -p tcp --dport https -j ACCEPT

  einfo "Creating outgoing mail traffic chain"
  $IPTABLES -N allow-mail-traffic-out
  $IPTABLES -F allow-mail-traffic-out
  $IPTABLES -A allow-mail-traffic-out -p tcp --dport smtp  -j ACCEPT
  $IPTABLES -A allow-mail-traffic-out -p tcp --dport pop3  -j ACCEPT
  $IPTABLES -A allow-mail-traffic-out -p tcp --dport imap2 -j ACCEPT
  
  einfo "Creating outgoing ftp traffic chain"
  $IPTABLES -N allow-ftp-traffic-out
  $IPTABLES -F allow-ftp-traffic-out
  $IPTABLES -A allow-ftp-traffic-out -p tcp --dport 1024:65365 -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-out -p tcp --dport ftp -j ACCEPT
  $IPTABLES -A allow-ftp-traffic-out -p tcp --dport ftp-data -j ACCEPT

  einfo "Creating outgoing smb traffic chain"
  $IPTABLES -N allow-smb-traffic-out
  $IPTABLES -F allow-smb-traffic-out
  $IPTABLES -A allow-smb-traffic-out -p tcp --dport netbios-ssn -j ACCEPT
  $IPTABLES -A allow-smb-traffic-out -p udp --dport netbios-ns  -j ACCEPT
  $IPTABLES -A allow-smb-traffic-out -p udp --dport netbios-dgm -j ACCEPT
  $IPTABLES -A allow-smb-traffic-out -p tcp --dport 445 -j ACCEPT

  einfo "Creating outgoing krab/terminal traffic chain"
  $IPTABLES -N allow-krab-term-traffic-out
  $IPTABLES -F allow-krab-term-traffic-out
  $IPTABLES -A allow-krab-term-traffic-out -p tcp --dport 3050 -j ACCEPT
  $IPTABLES -A allow-krab-term-traffic-out -p tcp --dport 3389 -j ACCEPT

  einfo "Creating outgoing ntp traffic chain"
  $IPTABLES -N allow-time-traffic-out
  $IPTABLES -F allow-time-traffic-out
  $IPTABLES -A allow-time-traffic-out -p udp --dport ntp -j ACCEPT
  $IPTABLES -A allow-time-traffic-out -p udp --dport ntp -j ACCEPT

  #Catch portscanners
  einfo "Creating portscan detection chain"
  $IPTABLES -N check-flags
  $IPTABLES -F check-flags
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 5/minute -j LOG --log-level alert --log-prefix "NMAP-XMAS:" 
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL ALL -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "XMAS:"
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL ALL -j DROP
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "XMAS-PSH:"
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL NONE -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "NULL_SCAN:"
  $IPTABLES -A check-flags -p tcp --tcp-flags ALL NONE -j DROP 
  $IPTABLES -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/RST:"
  $IPTABLES -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
  $IPTABLES -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/FIN:"
  $IPTABLES -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

  # Apply and add invalid states to the chains
  einfo "Applying chains to INPUT"
  $IPTABLES -A INPUT -m state --state INVALID -j DROP
  $IPTABLES -A INPUT -j icmp_allowed 
  $IPTABLES -A INPUT -j check-flags
  $IPTABLES -A INPUT -i lo -j ACCEPT
  $IPTABLES -A INPUT -j allow-ssh-traffic-in
  $IPTABLES -A INPUT -j allow-www-traffic-in
  $IPTABLES -A INPUT -j allow-ftp-traffic-in
  $IPTABLES -A INPUT -j allow-smb-traffic-in
  $IPTABLES -A INPUT -j allow-time-traffic-in
  $IPTABLES -A INPUT -j allowed-connection

  einfo "Applying chains to FORWARD"
  $IPTABLES -A FORWARD -m state --state INVALID -j DROP
  $IPTABLES -A FORWARD -j icmp_allowed 
  $IPTABLES -A FORWARD -j check-flags
  $IPTABLES -A FORWARD -o lo -j ACCEPT
#  $IPTABLES -A FORWARD -j allow-ssh-traffic-in
#  $IPTABLES -A FORWARD -j allow-time-traffic-in
#  $IPTABLES -A FORWARD -j allow-ftp-traffic-in
#  $IPTABLES -A FORWARD -j allow-www-traffic-in
#  $IPTABLES -A FORWARD -j allow-www-traffic-out
  $IPTABLES -A FORWARD -j allowed-connection

  einfo "Applying chains to OUTPUT"
  $IPTABLES -A OUTPUT -m state --state INVALID -j DROP
  $IPTABLES -A OUTPUT -j icmp_allowed
  $IPTABLES -A OUTPUT -j check-flags
  $IPTABLES -A OUTPUT -o lo -j ACCEPT
  $IPTABLES -A OUTPUT -j allow-ssh-traffic-out
  $IPTABLES -A OUTPUT -j allow-dns-traffic-out
  $IPTABLES -A OUTPUT -j allow-www-traffic-out
  $IPTABLES -A OUTPUT -j allow-mail-traffic-out
  $IPTABLES -A OUTPUT -j allow-ftp-traffic-out
  $IPTABLES -A OUTPUT -j allow-smb-traffic-out
  $IPTABLES -A OUTPUT -j allow-krab-term-traffic-out
  $IPTABLES -A OUTPUT -j allow-time-traffic-out
  $IPTABLES -A OUTPUT -j allowed-connection

  #Allow client to route through via NAT (Network Address Translation)
  $IPTABLES -t nat -A POSTROUTING -o $IINTERFACE -j MASQUERADE 
  eend $?
}

start() {
  ebegin "Starting firewall"
  if [ -e "$" ]; then
    restore
  else
    einfo "$ does not exists. Using default rules."
    rules
  fi
  eend $?
}

stop() {
  ebegin "Stopping firewall"
  $IPTABLES -F
  $IPTABLES -t nat -F
  $IPTABLES -X
  $IPTABLES -P FORWARD ACCEPT
  $IPTABLES -P INPUT   ACCEPT
  $IPTABLES -P OUTPUT  ACCEPT
  eend $?
}

showstatus() {
  ebegin "Status"
  $IPTABLES -L -n -v --line-numbers
  einfo "NAT status"
  $IPTABLES -L -n -v --line-numbers -t nat
  eend $?
}

panic() {
  ebegin "Setting panic rules"
  $IPTABLES -F
  $IPTABLES -X
  $IPTABLES -t nat -F
  $IPTABLES -P FORWARD DROP
  $IPTABLES -P INPUT   DROP
  $IPTABLES -P OUTPUT  DROP
  $IPTABLES -A INPUT -i lo -j ACCEPT
  $IPTABLES -A OUTPUT -o lo -j ACCEPT
  eend $?
}

save() {
  ebegin "Saving Firewall rules"
  $IPTABLESSAVE > $FIREWALL
  eend $?
}

restore() {
  ebegin "Restoring Firewall rules"
  $IPTABLESRESTORE < $FIREWALL
  eend $?
}

restart() {
  svc_stop; svc_start
}

showoptions() {
  echo "Usage: $0 "
  echo "start)      will restore setting if exists else force rules"
  echo "stop)       delete all rules and set all to accept"
  echo "rules)      force settings of new rules"
  echo "save)       will store settings in $"
  echo "restore)    will restore settings from $"
  echo "showstatus) Shows the status" 
}
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

12

-A PREROUTING -i eth0 -p tcp -m tcp --dport 3553 -j DNAT --to-destination 192.168.10.70:3553

вроде не ошибся ab

newzenon, примеры может и хороши, но раздел все-таки красношапочный и поэтому все же лучше будет использовать дистрибутивоспецифичные способы настройки...

13

-A POSTROUTING -s 192.168.10.1/32 ! -d 192.168.10.79/32 -p tcp -m tcp --dport 3553 -j SNAT --to-source  (IP интернет соединения)
-A POSTROUTING -s 192.168.10.1/32 -d 192.168.10.79/32 -p tcp -m tcp --dport 3553 -j SNAT --to-source  (IP интернет соединения)
-A POSTROUTING -s 192.168.10.79/32 -d 192.168.10.0/24 -p tcp -m tcp --dport 3553 -j SNAT --to-source  (IP интернет соединения)

Это вам не надо! У вас forward стоит accept.
На клиенте указывайте прямой ип адрес инета и всё.
Если не пашет возможно провайдер режит порты.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

14

Hrafn, если уж ТС ручками в правила городит в iptables-save, лучше уж скриптом.  smile
Кстати какие дистрибутивоспецифичные способы есть?

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

15

Я про размещение конфига имею ввиду и формат самого конфига, хотя и Ваш способ совершенно нормален ab
Допустим, стандартное местоположение конфига: /etc/sysconfig/iptables и формат именно таков, как у ТС
Плюс, немного тонких настроек в в той же директории в файле iptables-config.
Кроме того, утилита system-config-network-* пишет и читает в тот же файл

16

Так это без разницы, запустил скрипт один раз потом на iptables-save/restore всё переложить. Никакой дистрозависимости, во втором скрипте - сделан как - init сценарий, но я как пример составления правил привел.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

17 (19.09.2011 07:50:56 отредактировано GLADIATOR13)

newzenon и Hrafn

Если я правельно вас понял то мой скрипт должен выглядеть примерно так:

#!/bin/bash
# Тут в принципе может и не надо этого всего но не помеха
# вдруг какой модуль не подгружен или форвардинг не включен
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

# Объявление переменных
export IPT="iptables"

# Интерфейс который смотрит в интернет
export WAN=eth0

# Локальная сеть
export LAN=eth1
export LAN_IP_RANGE=192.168.10.0/24

# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Закрываем изначально ВСЁ (т.е. изначально все что не разрешено - запрещено):
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

# разрешаем локальный траффик для loopback и внутренней сети
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i $LAN -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $LAN -j ACCEPT

# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Разрешить форвардинг для новых, а так же уже инициированных
# и их дочерних соединений
$IPT -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы
# и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Приводит к связыванию системных ресурсов, так что реальный
# обмен данными становится не возможным.
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Разрешаем доступ из внутренней сети наружу
$IPT -A FORWARD -i $LAN -o $WAN -j ACCEPT

# Запрещаем доступ снаружи во внутреннюю сеть
$IPT -A FORWARD -i $WAN -o $LAN -j REJECT

# Маскарадинг
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE -j MASQUERADE

#Заворот трафика на SQUID
$IPT -A PREROUTING -i $LAN -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.1:3128 
$IPT -A PREROUTING -i $WAN -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 
$IPT -A PREROUTING -i $LAN -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.10.1:3128 
$IPT -A PREROUTING -i $WAN -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 3128 

#Заворот на порт 3553
$IPT -A PREROUTING -i $WAN -p tcp -m tcp --dport 3553 -j DNAT --to-destination 192.168.10.70:3553


# Далее дано как пример открытие портов извне:
# **********************************************************************
# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT

# Открываем порт 3553
$IPT -A INPUT -i $WAN -p tcp --dport 3553 -j ACCEPT

# Открытие 443 порта
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT

# Открываем 80 порт для веб сайтов
$IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -i $WAN -p udp --dport 80 -j ACCEPT

# Открываем 8080 порт для веб сайтов
$IPT -A INPUT -i $WAN -p tcp --dport 8080 -j ACCEPT
$IPT -A INPUT -i $WAN -p udp --dport 8080 -j ACCEPT


#**********************************************************************
 
# Вывод информации о состоянии таблиц.
route -n
$IPT -L
$IPT -L -v -n
$IPT -L -v -n -t nat
#su -
#yum install LIVE

18

Также еще вопрос а не надо ли дополнительно что-нить прописывать в конфиге SQUID??

#su -
#yum install LIVE

19

сквид тут не при чем совсем

20

GLADIATOR13, про сквид тем полно, поиском по форуму поищи и продолжи какую-нибудь из тем.
Скриптом запустил? nat в порядке?
Тебе порт надо было пробросить?

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

21

Пока не запускал, на больничном, как запущу отпишусь)

#su -
#yum install LIVE

22 (21.09.2011 10:59:15 отредактировано GLADIATOR13)

После запуска скрипта ничего не изменилось. Совсем  ac

Конфиг тэйблсов после перезапуска системы. Изменений ноль.

# Generated by iptables-save v1.4.9 on Wed Sep 21 10:55:25 2011
*nat
:PREROUTING ACCEPT [1301:89180]
:OUTPUT ACCEPT [1395:87293]
:POSTROUTING ACCEPT [20:3653]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.1:3128 
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 
-A PREROUTING -i eth1 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.10.1:3128 
-A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 3128 
-A POSTROUTING -o eth0 -j MASQUERADE 
-A POSTROUTING -s 192.168.10.1/32 ! -d 192.168.10.79/32 -p tcp -m tcp --dport 3553 -j SNAT --to-source 188.128.2.58 
-A POSTROUTING -s 192.168.10.1/32 -d 192.168.10.79/32 -p tcp -m tcp --dport 3553 -j SNAT --to-source 188.128.2.58 
-A POSTROUTING -s 192.168.10.79/32 -d 192.168.10.0/24 -p tcp -m tcp --dport 3553 -j SNAT --to-source 188.128.2.58 
COMMIT
# Completed on Wed Sep 21 10:55:25 2011
# Generated by iptables-save v1.4.9 on Wed Sep 21 10:55:25 2011
*filter
:INPUT ACCEPT [26140:12899087]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [29668:13919984]
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -i eth1 -o eth0 -j ACCEPT 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 3553 -j ACCEPT 
-A OUTPUT -o eth1 -p tcp -m tcp --dport 3553 -j ACCEPT 
COMMIT
# Completed on Wed Sep 21 10:55:25 2011

При попытки открыть файл в ручную консоль пишет следующее:

[root@Gateway ~]# '/etc/firewall.sh' 
-bash: /etc/firewall.sh: /bin/bash^M: плохой интерпретатор: Нет такого файла или каталога

Что не так?  oO

#su -
#yum install LIVE

23

А он у Вас вообще запустился?

24

GLADIATOR13 пишет:

-A POSTROUTING -s 192.168.10.1/32 ! -d 192.168.10.79/32 -p tcp -m tcp --dport 3553 -j SNAT --to-source 188.128.2.58
-A POSTROUTING -s 192.168.10.1/32 -d 192.168.10.79/32 -p tcp -m tcp --dport 3553 -j SNAT --to-source 188.128.2.58
-A POSTROUTING -s 192.168.10.79/32 -d 192.168.10.0/24 -p tcp -m tcp --dport 3553 -j SNAT --to-source 188.128.2.58

А смысла этих строк я вообще не понимаю

25

Это старый конфиг, остатки после эксперементов и лишнее доказательство тому что скрипт не запустился.

Кстати Hrafn при вводе вашей команды через консоль пишется ошибка:

[root@Gateway ~]# iptables -A PREROUTING -i eth0 -p tcp -m tcp --dport 3553 -j DNAT --to-destination 192.168.10.70:3553
iptables: No chain/target/match by that name.
#su -
#yum install LIVE

26

И всёже после запуска скрипта полная неразбериха *(

: Нет такого файла или каталога/sys/net/ipv4/ip_forward
: Нет такого файла или каталога/sys/net/ipv4/ip_dynaddr
 not found.le iptable_nat
 not found.le ip_conntrack_ftp
 not found.le ip_nat_ftp
: команда не найденаne 8: 
: команда не найденаne 11: 
: команда не найденаne 14: 
: команда не найденаne 18: 
: команда не найденаne 20: iptables
: команда не найденаne 21: iptables
: команда не найденаne 22: iptables
: команда не найденаne 23: iptables
: команда не найденаne 24: iptables
: команда не найденаne 25: iptables
: команда не найденаne 26: 
: команда не найденаne 28: iptables
: команда не найденаne 29: iptables
: команда не найденаne 30: iptables
: команда не найденаne 31: 
: команда не найденаne 33: iptables
: команда не найденаne 34: iptables
: команда не найденаne 35: iptables
: команда не найденаne 36: iptables
: команда не найденаne 37: 
: команда не найденаne 40: iptables
: команда не найденаne 41: 
: команда не найденаne 43: iptables
: команда не найденаne 44: 
: команда не найденаne 47: iptables
: команда не найденаne 48: 
: команда не найденаne 50: iptables
: команда не найденаne 51: 
: команда не найденаne 54: iptables
: команда не найденаne 55: iptables
: команда не найденаne 56: 
: команда не найденаne 59: iptables
: команда не найденаne 60: iptables
: команда не найденаne 61: 
: команда не найденаne 63: iptables
: команда не найденаne 64: 
: команда не найденаne 66: iptables
: команда не найденаne 67: 
: команда не найденаne 69: iptables
: команда не найденаne 70: 
: команда не найденаne 72: iptables
: команда не найденаne 73: iptables
: команда не найденаne 74: iptables
: команда не найденаne 75: iptables
: команда не найденаne 76: 
: команда не найденаne 78: iptables
: команда не найденаne 79: 
: команда не найденаne 80: 
: команда не найденаne 84: iptables
: команда не найденаne 85: 
: команда не найденаne 87: iptables
: команда не найденаne 88: 
: команда не найденаne 90: iptables
: команда не найденаne 91: 
: команда не найденаne 93: iptables
: команда не найденаne 94: iptables
: команда не найденаne 95: 
: команда не найденаne 97: 
»oute: неверный ключ -- «
Usage: route [-nNvee] [-FC] [<AF>]           List kernel routing tables
       route [-v] [-FC] {add|del|flush} ...  Modify routing table for AF.

       route {-h|--help} [<AF>]              Detailed usage syntax for specified AF.
       route {-V|--version}                  Display version/author and exit.

        -v, --verbose            be verbose
        -n, --numeric            don't resolve names
        -e, --extend             display other/more information
        -F, --fib                display Forwarding Information Base (default)
        -C, --cache              display routing cache instead of FIB

  <AF>=Use '-A <af>' or '--<af>'; default: inet
  List of possible address families (which support routing):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) 
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) 
    x25 (CCITT X.25) 
: команда не найденаne 100: iptables
: команда не найденаne 101: iptables
: команда не найденаne 102: iptables
#su -
#yum install LIVE

27 (21.09.2011 11:47:14 отредактировано Hrafn)

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 3553 -j DNAT --to-destination 192.168.10.70:3553

Вы забыли указать таблицу -t nat

28

GLADIATOR13 пишет:

И всёже после запуска скрипта полная неразбериха *(

: Нет такого файла или каталога/sys/net/ipv4/ip_forward
: Нет такого файла или каталога/sys/net/ipv4/ip_dynaddr
 not found.le iptable_nat
 not found.le ip_conntrack_ftp
 not found.le ip_nat_ftp
: команда не найденаne 8: 
: команда не найденаne 11: 
: команда не найденаne 14: 
: команда не найденаne 18: 
: команда не найденаne 20: iptables
: команда не найденаne 21: iptables
: команда не найденаne 22: iptables
: команда не найденаne 23: iptables
: команда не найденаne 24: iptables
: команда не найденаne 25: iptables
: команда не найденаne 26: 
: команда не найденаne 28: iptables
: команда не найденаne 29: iptables
: команда не найденаne 30: iptables
: команда не найденаne 31: 
: команда не найденаne 33: iptables
: команда не найденаne 34: iptables
: команда не найденаne 35: iptables
: команда не найденаne 36: iptables
: команда не найденаne 37: 
: команда не найденаne 40: iptables
: команда не найденаne 41: 
: команда не найденаne 43: iptables
: команда не найденаne 44: 
: команда не найденаne 47: iptables
: команда не найденаne 48: 
: команда не найденаne 50: iptables
: команда не найденаne 51: 
: команда не найденаne 54: iptables
: команда не найденаne 55: iptables
: команда не найденаne 56: 
: команда не найденаne 59: iptables
: команда не найденаne 60: iptables
: команда не найденаne 61: 
: команда не найденаne 63: iptables
: команда не найденаne 64: 
: команда не найденаne 66: iptables
: команда не найденаne 67: 
: команда не найденаne 69: iptables
: команда не найденаne 70: 
: команда не найденаne 72: iptables
: команда не найденаne 73: iptables
: команда не найденаne 74: iptables
: команда не найденаne 75: iptables
: команда не найденаne 76: 
: команда не найденаne 78: iptables
: команда не найденаne 79: 
: команда не найденаne 80: 
: команда не найденаne 84: iptables
: команда не найденаne 85: 
: команда не найденаne 87: iptables
: команда не найденаne 88: 
: команда не найденаne 90: iptables
: команда не найденаne 91: 
: команда не найденаne 93: iptables
: команда не найденаne 94: iptables
: команда не найденаne 95: 
: команда не найденаne 97: 
»oute: неверный ключ -- «
Usage: route [-nNvee] [-FC] [<AF>]           List kernel routing tables
       route [-v] [-FC] {add|del|flush} ...  Modify routing table for AF.

       route {-h|--help} [<AF>]              Detailed usage syntax for specified AF.
       route {-V|--version}                  Display version/author and exit.

        -v, --verbose            be verbose
        -n, --numeric            don't resolve names
        -e, --extend             display other/more information
        -F, --fib                display Forwarding Information Base (default)
        -C, --cache              display routing cache instead of FIB

  <AF>=Use '-A <af>' or '--<af>'; default: inet
  List of possible address families (which support routing):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) 
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) 
    x25 (CCITT X.25) 
: команда не найденаne 100: iptables
: команда не найденаne 101: iptables
: команда не найденаne 102: iptables

Покажите ваш нынешний скрипт, целиком

29 (21.09.2011 11:49:04 отредактировано Hrafn)

Я потому и говорил, что лучше использовать дистрибутиво-специфичные способы настройки iptables, дабы проблем не было ненужных

30

"дистрибутиво-специфичные способы настройки" Честно говоря я даже незнаю что это и сем едят  ac

Это нынешний конфиг iptables:

# Generated by iptables-save v1.4.9 on Wed Sep 21 11:31:06 2011
*nat
:PREROUTING ACCEPT [607:53479]
:OUTPUT ACCEPT [638:41859]
:POSTROUTING ACCEPT [3:3439]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.1:3128 
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 
-A PREROUTING -i eth1 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.10.1:3128 
-A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 3128 
-A POSTROUTING -o eth0 -j MASQUERADE 
-A POSTROUTING -s 192.168.10.1/32 ! -d 192.168.10.79/32 -p tcp -m tcp --dport 3553 -j SNAT --to-source 188.128.2.58 
-A POSTROUTING -s 192.168.10.1/32 -d 192.168.10.79/32 -p tcp -m tcp --dport 3553 -j SNAT --to-source 188.128.2.58 
-A POSTROUTING -s 192.168.10.79/32 -d 192.168.10.0/24 -p tcp -m tcp --dport 3553 -j SNAT --to-source 188.128.2.58 
COMMIT
# Completed on Wed Sep 21 11:31:06 2011
# Generated by iptables-save v1.4.9 on Wed Sep 21 11:31:06 2011
*filter
:INPUT ACCEPT [8021:4083934]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9139:4175547]
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -i eth1 -o eth0 -j ACCEPT 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 3553 -j ACCEPT 
-A OUTPUT -o eth1 -p tcp -m tcp --dport 3553 -j ACCEPT 
COMMIT
# Completed on Wed Sep 21 11:31:06 2011

Это скрипт Firewall.sh

#!/bin/bash
# Тут в принципе может и не надо этого всего но не помеха
# вдруг какой модуль не подгружен или форвардинг не включен
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

# Объявление переменных
export IPT="iptables"

# Интерфейс который смотрит в интернет
export WAN=eth0

# Локальная сеть
export LAN=eth1
export LAN_IP_RANGE=192.168.10.0/24

# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Закрываем изначально ВСЁ (т.е. изначально все что не разрешено - запрещено):
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

# разрешаем локальный траффик для loopback и внутренней сети
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i $LAN -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $LAN -j ACCEPT

# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Разрешить форвардинг для новых, а так же уже инициированных
# и их дочерних соединений
$IPT -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы
# и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Приводит к связыванию системных ресурсов, так что реальный
# обмен данными становится не возможным.
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Разрешаем доступ из внутренней сети наружу
$IPT -A FORWARD -i $LAN -o $WAN -j ACCEPT

# Запрещаем доступ снаружи во внутреннюю сеть
$IPT -A FORWARD -i $WAN -o $LAN -j REJECT

# Маскарадинг
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE -j MASQUERADE

#Заворот трафика на SQUID
$IPT -A PREROUTING -i $LAN -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.1:3128 
$IPT -A PREROUTING -i $WAN -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 
$IPT -A PREROUTING -i $LAN -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.10.1:3128 
$IPT -A PREROUTING -i $WAN -p tcp -m tcp --dport 8080 -j REDIRECT --to-ports 3128 

#Заворот на порт 3553
$IPT -A PREROUTING -i $WAN -p tcp -m tcp --dport 3553 -j DNAT --to-destination 192.168.10.70:3553


# Далее дано как пример открытие портов извне:
# **********************************************************************
# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT

# Открываем порт 3553
$IPT -A INPUT -i $WAN -p tcp --dport 3553 -j ACCEPT

# Открытие 443 порта
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT

# Открываем 80 порт для веб сайтов
$IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -i $WAN -p udp --dport 80 -j ACCEPT

#**********************************************************************
 
# Вывод информации о состоянии таблиц.
route -n
$IPT -L
$IPT -L -v -n
$IPT -L -v -n -t nat

Кстати скрипт запускается только без строки "#!/bin/bash"

#su -
#yum install LIVE