LINUX.ORG.RU
решено ФорумAdmin

iptables + доступ по IP

 , ,


2

1

Всем доброго дня! Надо выпустить один комп через iptables, вроде бы сделал все как надо, помимо мануалов, на форумах читал, кажется должно работать, но нифига не пашет, подскажите где ошибка. Форвардинг включен.

Конфиг: eth0-внешний интерфейс

eth1-внутренний

192.168.0.143 - ip компа

# Generated by iptables-save v1.4.8 on Thu Sep 27 12:47:32 2012 *filter

:INPUT DROP [0:0]

:FORWARD DROP [0:0]

:OUTPUT ACCEPT [6:888]

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

-A INPUT -i lo -j ACCEPT

-A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT

-A FORWARD -d 192.168.0.203/32 -i eth0 -o eth1 -p tcp -m tcp --dport 25 -j ACCEPT

-A FORWARD -d 192.168.0.203/32 -i eth0 -o eth1 -p tcp -m tcp --dport 110 -j ACCEPT

-A FORWARD -d 192.168.0.206/32 -i eth0 -o eth1 -p tcp -m tcp --dport 444 -j ACCEPT

-A FORWARD -d 192.168.0.206/32 -i eth0 -o eth1 -p tcp -m tcp --dport 443 -j ACCEPT

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

COMMIT

# Completed on Thu Sep 27 12:47:32 2012 # Generated by iptables-save v1.4.8 on Thu Sep 27 12:47:32 2012

*nat :PREROUTING ACCEPT [12:764]

:POSTROUTING ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A PREROUTING -d внешний ip/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.0.206

-A PREROUTING -d внешний ip/32 -p tcp -m tcp --dport 444 -j DNAT --to-destination 192.168.0.206

-A PREROUTING -d внешний ip/32 -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.0.203

-A PREROUTING -d внешний ip/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.0.203

-A POSTROUTING -d 192.168.0.206/32 -p tcp -m tcp --dport 443 -j SNAT --to-source 192.168.0.40

-A POSTROUTING -d 192.168.0.206/32 -p tcp -m tcp --dport 444 -j SNAT --to-source 192.168.0.40

-A POSTROUTING -d 192.168.0.203/32 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.168.0.40

-A POSTROUTING -d 192.168.0.203/32 -p tcp -m tcp --dport 25 -j SNAT --to-source 192.168.0.40

-A POSTROUTING -s 192.168.0.143/32 -j SNAT --to-source внешний ip

-A POSTROUTING -o eth0 -j MASQUERADE

-A OUTPUT -d внешний ip/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.0.206

-A OUTPUT -d внешний ip/32 -p tcp -m tcp --dport 444 -j DNAT --to-destination 192.168.0.206

-A OUTPUT -d внешний ip/32 -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.0.203

-A OUTPUT -d внешний ip/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.0.203

COMMIT # Completed on Thu Sep 27 12:47:32 2012


вот мой старый рабочий скрипт, запихиваешь в автозагрузку.

#!/bin/bash
#################################################################
# reset the default policies in the filter table.               #
#################################################################
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#################################################################
# reset the default policies in the nat table.                  #
#################################################################
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
#################################################################
# reset the default policies in the mangle table.               #
#################################################################
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
#################################################################
# flush all the rules in the filter and nat tables.             #
#################################################################
iptables -F
iptables -t nat -F
iptables -t mangle -F
#################################################################
# erase all chains that's not default in filter and nat table.  #
#################################################################
iptables -X
iptables -t nat -X
iptables -t mangle -X
#################################################################
# politika by default                                           #
#################################################################
iptables -P FORWARD DROP
#################################################################
export LAN=eth1
export WAN=ppp0
iptables -I INPUT 1 -i ${LAN} -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A INPUT -p UDP --dport bootps -i ! ${LAN} -j REJECT
iptables -A INPUT -p UDP --dport domain -i ! ${LAN} -j REJECT
iptables -A INPUT -p TCP --dport ssh -i ${WAN} -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.0.0/255.255.255.0 -j ACCEPT
#################################################################
# Drop ports                                                    #
#################################################################
iptables -A INPUT -i ${WAN} -p tcp -m multiport --dports 111,135,136,137,138,139,445,953,1723,2628 -j REJECT --reject-with icmp-port-unreachable
#################################################################
# bad_tcp_packets                                               #
#################################################################
iptables -N bad_tcp_packets
iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp -j bad_tcp_packets
iptables -A FORWARD -p tcp -j bad_tcp_packets
iptables -A OUTPUT -p tcp -j bad_tcp_packets
#################################################################
# Torrents*  * * * * * * * * * * * * * * * *                    #
#################################################################
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 61926 -j DNAT --to-destination 192.168.0.2:61926
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 61926 -j DNAT --to-destination 192.168.0.2:61926
iptables -A FORWARD -d 192.168.0.2 -p tcp --dport 61926 -j ACCEPT
iptables -A FORWARD -d 192.168.0.2 -p udp --dport 61926 -j ACCEPT
#################################################################
# ICQ/Jabber Files                                              #
#################################################################
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 64544 -j DNAT --to-destination 192.168.0.2:64544
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 64544 -j DNAT --to-destination 192.168.0.2:64544
iptables -A FORWARD -d 192.168.0.2 -p tcp --dport 64544 -j ACCEPT
iptables -A FORWARD -d 192.168.0.2 -p udp --dport 64544 -j ACCEPT
#################################################################
# DC++* * * * * * * * ** * * * * * * * * * *                    #
#################################################################
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 35477 -j DNAT --to-destination 192.168.0.2:35477
iptables -A FORWARD -d 192.168.0.2 -p tcp --dport 35477 -j ACCEPT
#
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 35466 -j DNAT --to-destination 192.168.0.2:35466
iptables -A FORWARD -d 192.168.0.2 -p udp --dport 35466 -j ACCEPT
#
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 35455 -j DNAT --to-destination 192.168.0.2:35455
iptables -A FORWARD -d 192.168.0.2 -p tcp --dport 35455 -j ACCEPT
#
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
leg0las ★★★★★ ()

с маршрутизацией на обеих компах надеюсь андерстенд?

leg0las ★★★★★ ()
Ответ на: уже исправил! от lomos

Еще там были 2 кошерные строчки для отбивания DDoS, но увы и ах, это первая версия скрипта, когда дома еще VPN был (WAN=ppp0)

leg0las ★★★★★ ()
Ответ на: комментарий от leg0las

что-то типа такого?

iptables --new-chain ddos
iptables --insert OUTPUT 1 -p tcp --destination-port 80 -o eth0 --jump ddos
iptables --append ddos -m limit --limit 10/sec --jump RETURN
iptables --append ddos --jump DROP
shrub ★★★★★ ()
Ответ на: комментарий от shrub

да, limit/ulimit или как там его, только не 10, а 7 стояло. Небольшой DDoS из ~100 машин (~100 белых IP, а там хз) вполне себе отбило.

leg0las ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.