1

Всем, привет.

Уважеаемые, форумчане подскажите как в файле!!! iptables описать nat проброс портов.

Так можна командой

iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 64888 -j DNAT --to-destination 127.0.0.1:3306
iptables -t nat  -A POSTROUTING -d 127.0.0.1 -p tcp -m tcp --dport 3306 -j SNAT --to-source 192.168.0.1

Но интересует именно ручное редактирование vi редактором.

Как организовать синтаксис и в какой части файла ?

Спасибо

2 (24.07.2014 16:36:08 отредактировано Lupo Alberto)

stinggga пишет:

Так можна командой
        iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 64888 -j DNAT --to-destination 127.0.0.1:3306
        iptables -t nat  -A POSTROUTING -d 127.0.0.1 -p tcp -m tcp --dport 3306 -j SNAT --to-source 192.168.0.1

Но интересует именно ручное редактирование vi редактором.

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d 192.168.0.1/32 -p tcp -m tcp --dport 64888 -j DNAT --to-destination 127.0.0.1:3306
-A POSTROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 3306 -j SNAT --to-source 192.168.0.1
COMMIT
Был, был и весь вышел...

3

после commit там где идут открытие input портов ?

4

stinggga пишет:

после commit там где идут открытие input портов ?

Да.
Ручное редактирование файла необязательно.
Введите нужные вам команды

iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 64888 -j DNAT --to-destination 127.0.0.1:3306
iptables -t nat  -A POSTROUTING -d 127.0.0.1 -p tcp -m tcp --dport 3306 -j SNAT --to-source 192.168.0.1

Убедитесь, что всё работает нужным вам образом.
Выполните

iptables-save > /etc/iptables

Правила, используемые в данный момент, сохранятся в файл  /etc/iptables.

Был, был и весь вышел...

5

Да я понимаю, но именно надо так.

service iptable restart
Error
Применяются правила брандмауэра iptables: iptables-restore v1.3.5: Can't set policy `INPUT' on `ACCEPT' line 84: Bad built-in chain name

6

Может что не правильно делаю ?

cat /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Tue Mar 25 12:22:54 2014
*filter
:INPUT ACCEPT [73:7682]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [80:15706]

-A INPUT -s 192.168.0.111 -j ACCEPT

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# pop3 and smtp
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT

#open dns
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT


#open port to connect to MYSQL
-A INPUT -m tcp -p tcp --dport 3306 -j ACCEPT


#Samba
-A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 137 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 138 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

#open web from adress
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#-A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.0-192.168.1.200 -j ACCEPT



-A INPUT -p tcp --dport 22 -j ACCEPT

#open FTP
-A INPUT -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 64000:65535 -j ACCEPT


-A INPUT -m tcp -p tcp --dport 40000:40500 -j ACCEPT

-A INPUT -p tcp --dport 1521 -j ACCEPT




-A INPUT -p udp --dport 40543 -j DROP
-A OUTPUT -p udp --dport 40543 -j DROP

#open pptp VPN server
-A INPUT -i eth0 -p gre -j ACCEPT
-A INPUT -i eth0 -m tcp -p tcp --dport 1723 -j ACCEPT
-A FORWARD -i ppp+ -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o ppp+ -j ACCEPT

# TEST
-A INPUT -p TCP -i eth0 --dport 21 -s 192.168.1.0/24 -m state --state NEW -j ACCEPT

-P INPUT DROP
#-P FORWARD DROP
-P OUTPUT ACCEPT


COMMIT
# Completed on Tue Mar 25 12:22:54 2014

############################################## !!!!!!!!!!!!!!!!!
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d 192.168.0.1/32 -p tcp -m tcp --dport 64888 -j DNAT --to-destination 127.0.0.1:3306
-A POSTROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 3306 -j SNAT --to-source 192.168.0.1

7

stinggga пишет:

cat /etc/sysconfig/iptables

Лучше

nl /etc/sysconfig/iptables
Был, был и весь вышел...

8

1  # Generated by iptables-save v1.3.5 on Tue Mar 25 12:22:54 2014
     2  *filter
     3  :INPUT ACCEPT [73:7682]
     4  :FORWARD ACCEPT [0:0]
     5  :OUTPUT ACCEPT [80:15706]

     6  -A INPUT -s 192.168.0.111 -j ACCEPT

     7  -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

     8  # pop3 and smtp
     9  -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
    10  -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
    11  -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT

    12  #open dns
    13  -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
    14  #close dns
    15  #-A INPUT -p udp --dport 53 -j DROP

    16  #open port to connect to MYSQL
    17  -A INPUT -m tcp -p tcp --dport 3306 -j ACCEPT


    18  #Samba
    19  -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 137 -j ACCEPT
    20  -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 138 -j ACCEPT
    21  -A INPUT -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
    22  -A INPUT -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

    23  #open web from adress
    24  -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    25  #-A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.0-192.168.1.200 -j ACCEPT



    27  -A INPUT -p tcp --dport 22 -j ACCEPT

    28  #open FTP
    29  -A INPUT -m tcp -p tcp --dport 21 -j ACCEPT
    30  -A INPUT -m tcp -p tcp --dport 20 -j ACCEPT
    31  -A INPUT -m tcp -p tcp --dport 64000:65535 -j ACCEPT


    32  -A INPUT -m tcp -p tcp --dport 40000:40500 -j ACCEPT

    33  -A INPUT -p tcp --dport 1521 -j ACCEPT

    34  #Open Proxy Squid
    35  -A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT


    36  -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner postfix -j ACCEPT
    37  -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner root -j ACCEPT
    38  #-A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner katia -j ACCEPT
    39  -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner alex -j ACCEPT
    40  -A OUTPUT -p tcp -m tcp --dport 25 -j DROP



    41  -A INPUT -p udp --dport 40543 -j DROP
    42  -A OUTPUT -p udp --dport 40543 -j DROP

    43  #open pptp VPN server
    44  -A INPUT -i eth0 -p gre -j ACCEPT
    45  -A INPUT -i eth0 -m tcp -p tcp --dport 1723 -j ACCEPT
    46  -A FORWARD -i ppp+ -o eth0 -j ACCEPT
    47  -A FORWARD -i eth0 -o ppp+ -j ACCEPT

    48  # TEST
    49  -A INPUT -p TCP -i eth0 --dport 21 -s 192.168.1.0/24 -m state --state NEW -j ACCEPT

    50  -P INPUT DROP
    51  #-P FORWARD DROP
    52  -P OUTPUT ACCEPT


    53  COMMIT
    54  # Completed on Tue Mar 25 12:22:54 2014

    55  #Tak kak ne otkrwt 3306 na vneshne routere to delaem nat s 64888 na 3306
    56  #*nat
    57  #:PREROUTING ACCEPT [0:0]
    58  #:INPUT ACCEPT [0:0]
    59  #:OUTPUT ACCEPT [0:0]
    60  #:POSTROUTING ACCEPT [0:0]
    61  #-A PREROUTING -d 192.168.0.1/32 -p tcp -m tcp --dport 64888 -j DNAT --to-destination 127.0.0.1:3306
    62  #-A POSTROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 3306 -j SNAT --to-source 192.168.0.1

9

ну в смысле с 55 строки всё раскоменчено ab

10 (24.07.2014 17:44:48 отредактировано Lupo Alberto)

stinggga пишет:

Can't set policy `INPUT' on `ACCEPT' line 84: Bad built-in chain name

stinggga пишет:

ну в смысле с 55 строки всё раскоменчено ab

А где остальное? Должна быть строка 84 с ошибкой в имени встроенной цепочки правил.

Был, был и весь вышел...

11

Вот такая ерунда получается сам не пойму:

[root@mail ~]# nl /etc/sysconfig/iptables
     1  # Generated by iptables-save v1.3.5 on Tue Mar 25 12:22:54 2014
     2  *filter
     3  :INPUT ACCEPT [73:7682]
     4  :FORWARD ACCEPT [0:0]
     5  :OUTPUT ACCEPT [80:15706]

     6  -A INPUT -s 192.168.0.111 -j ACCEPT

     7  -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

     8  # pop3 and smtp
     9  -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
    10  -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
    11  -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT

    12  #open dns
    13  -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
    14  #close dns
    15  #-A INPUT -p udp --dport 53 -j DROP

    16  #open port to connect to MYSQL
    17  -A INPUT -m tcp -p tcp --dport 3306 -j ACCEPT


    18  #Samba
    19  -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 137 -j ACCEPT
    20  -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 138 -j ACCEPT
    21  -A INPUT -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
    22  -A INPUT -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

    23  #open web from adress
    24  -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    25  #-A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.0-192.168.1.200 -j ACCEPT
    26  #-A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1 -j ACCEPT #Razreshit s Rabotw


    27  -A INPUT -p tcp --dport 22 -j ACCEPT

    28  #open FTP
    29  -A INPUT -m tcp -p tcp --dport 21 -j ACCEPT
    30  -A INPUT -m tcp -p tcp --dport 20 -j ACCEPT
    31  -A INPUT -m tcp -p tcp --dport 64000:65535 -j ACCEPT


    32  -A INPUT -m tcp -p tcp --dport 40000:40500 -j ACCEPT

    33  -A INPUT -p tcp --dport 1521 -j ACCEPT

    34  #Open Proxy Squid
    35  -A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT


    36  -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner postfix -j ACCEPT
    37  -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner root -j ACCEPT
    38  #-A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner katia -j ACCEPT
    39  -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner alex -j ACCEPT
    40  -A OUTPUT -p tcp -m tcp --dport 25 -j DROP



    41  -A INPUT -p udp --dport 40543 -j DROP
    42  -A OUTPUT -p udp --dport 40543 -j DROP

    43  #open pptp VPN server
    44  -A INPUT -i eth0 -p gre -j ACCEPT
    45  -A INPUT -i eth0 -m tcp -p tcp --dport 1723 -j ACCEPT
    46  -A FORWARD -i ppp+ -o eth0 -j ACCEPT
    47  -A FORWARD -i eth0 -o ppp+ -j ACCEPT

    48  # TEST
    49  -A INPUT -p TCP -i eth0 --dport 21 -s 192.168.1.0/24 -m state --state NEW -j ACCEPT

    50  -P INPUT DROP
    51  #-P FORWARD DROP
    52  -P OUTPUT ACCEPT


    53  COMMIT
    54  # Completed on Tue Mar 25 12:22:54 2014

    55  #Tak kak ne otkrwt 3306 na vneshne routere to delaem nat s 64888 na 3306
    56  #*nat
    57  #:PREROUTING ACCEPT [0:0]
    58  #:INPUT ACCEPT [0:0]
    59  #:OUTPUT ACCEPT [0:0]
    60  #:POSTROUTING ACCEPT [0:0]
    61  #-A PREROUTING -d 192.168.0.1/32 -p tcp -m tcp --dport 64888 -j DNAT --to-destination 127.0.0.1:3306
    62  #-A POSTROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 3306 -j SNAT --to-source 192.168.0.1

[root@mail ~]# vi /etc/sysconfig/iptables
[root@mail ~]# service iptables restart
Сбрасываются правила брандмауэра:                          [  OK  ]
Политика цепочек брандмауэра устанавливается в ACCEPT: filt[  OK  ]
Выгружаются модули                                         [  OK  ]
Применяются правила брандмауэра iptables: iptables-restore v1.3.5: Can't set policy `INPUT' on `ACCEPT' line 83: Bad built-in chain name

12 (24.07.2014 18:17:34 отредактировано alexfinn)

stinggga пишет:

49  -A INPUT -p TCP -i eth0 --dport 21 -s 192.168.1.0/24 -m state --state NEW -j ACCEPT

почему TCP большими буквами?

stinggga пишет:

50  -P INPUT DROP
51  #-P FORWARD DROP
52  -P OUTPUT ACCEPT

это вообще уберите, пправила по умолчанию указываются тут:

3  :INPUT ACCEPT [73:7682]
4  :FORWARD ACCEPT [0:0]
5  :OUTPUT ACCEPT [80:15706]

кроме того, перед ACCEPT и т.д. пишется -j

13

ругань появлется после

57  #:PREROUTING ACCEPT [0:0]
    58  #:INPUT ACCEPT [0:0]
    59  #:OUTPUT ACCEPT [0:0]
    60  #:POSTROUTING ACCEPT [0:0]
    61  #-A PREROUTING -d 192.168.0.1/32 -p tcp -m tcp --dport 64888 -j DNAT --to-destination 127.0.0.1:3306
    62  #-A POSTROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 3306 -j SNAT --to-source 192.168.0.1

14

До конца н е пойму, не бейте больно . Подскажите где ошибка. Вроде все ваши рекомендации сделал.
Ошибка

Выгружаются модули                                         [  OK  ]
Применяются правила брандмауэра iptables: iptables-restore v1.3.5: Can't set policy `INPUT' on `ACCEPT' line 91: Bad built-in chain name


Код ниже

1  # Generated by iptables-save v1.3.5 on Tue Mar 25 12:22:54 2014
     2  *filter
     3  :INPUT ACCEPT [73:7682]
     4  :FORWARD ACCEPT [0:0]
     5  :OUTPUT ACCEPT [80:15706]

     6  -A INPUT -s 192.168.0.111 -j ACCEPT

     7  -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

     8  # pop3 and smtp
     9  -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
    10  -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
    11  -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT

    12  #open dns
    13  -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
    14  #close dns
    15  #-A INPUT -p udp --dport 53 -j DROP

    16  #open port to connect to MYSQL
    17  -A INPUT -m tcp -p tcp --dport 3306 -j ACCEPT


    18  #Samba
    19  -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 137 -j ACCEPT
    20  -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 138 -j ACCEPT
    21  -A INPUT -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
    22  -A INPUT -s 192.168.1.0/24 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

    23  #open web from adress
    24  -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    25  #-A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.0-192.168.1.200 -j ACCEPT
    26  #-A INPUT -p tcp --destination-port 80 -m iprange --src-range 75.75.454.45 -j ACCEPT #Razreshit s Rabotw


    27  -A INPUT -p tcp --dport 22 -j ACCEPT

    28  #open FTP
    29  -A INPUT -m tcp -p tcp --dport 21 -j ACCEPT
    30  -A INPUT -m tcp -p tcp --dport 20 -j ACCEPT
    31  -A INPUT -m tcp -p tcp --dport 64000:65535 -j ACCEPT


    32  #Tak kak ne otkrwt 3306 na vneshne routere to delaem nat s 64888 na 3306
    33  #-t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 64888 -j DNAT --to-destination 127.0.0.1:3306
    34  #-t nat -A POSTROUTING -d 127.0.0.1 -p tcp -m tcp --dport 3306 -j SNAT --to-source 192.168.0.1

    35  -A INPUT -m tcp -p tcp --dport 40000:40500 -j ACCEPT

    36  -A INPUT -p tcp --dport 1521 -j ACCEPT

    37  #Open Proxy Squid
    38  -A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT


    39  -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner postfix -j ACCEPT
    40  -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner root -j ACCEPT
    41  #-A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner katia -j ACCEPT
    42  -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner alex -j ACCEPT
    43  -A OUTPUT -p tcp -m tcp --dport 25 -j DROP



    44  -A INPUT -p udp --dport 40543 -j DROP
    45  -A OUTPUT -p udp --dport 40543 -j DROP

    46  #open pptp VPN server
    47  -A INPUT -i eth0 -p gre -j ACCEPT
    48  -A INPUT -i eth0 -m tcp -p tcp --dport 1723 -j ACCEPT
    49  -A FORWARD -i ppp+ -o eth0 -j ACCEPT
    50  -A FORWARD -i eth0 -o ppp+ -j ACCEPT


    51  #-P INPUT DROP
    52  #-P FORWARD DROP
    53  #-P OUTPUT ACCEPT

    54  COMMIT

    55  *mangle
    56  :FORWARD ACCEPT [0:0]
    57  :INPUT ACCEPT [0:0]
    58  :OUTPUT ACCEPT [0:0]
    59  :PREROUTING ACCEPT [0:0]
    60  :POSTROUTING ACCEPT [0:0]

    61  COMMIT
    62  *nat
    63  :PREROUTING ACCEPT [0:0]
    64  :INPUT ACCEPT [0:0]
    65  :OUTPUT ACCEPT [0:0]
    66  :POSTROUTING ACCEPT [0:0]
    67  -A PREROUTING -d 192.168.0.1/32 -p tcp -m tcp --dport 64888 -j DNAT --to-destination 127.0.0.1:3306
    68  -A POSTROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 3306 -j SNAT --to-source 192.168.0.1

15

Заработало. Всё тема закрыта. Спасибо

16

В чем ошибка была?