# iptables

## machiavelli

witam, mam serwerek na gentoo, oraz używam 2 podsieci jedna do lan druga do wifi

chce przekierować porty z zewnątrz na jednego kompa który jest podłączony do lan, niestety nie działa to jak należy gdyż bez problemu porty mogę otwierać ale tylko na serwer, nie działa żadne przekierowanie portów

czy ktoś może mnie nakierować na rozwiązanie

to mój config iptables

#!/bin/bash

# Na początek ustawmy sobie aliasy nazw by było mniej pisania

export i=iptables

export LAN=eth1

export WIFI=eth0

export WAN=eht2

export govt="192.168.0.2"

export hapek="192.168.1.211"

#Informujemy jądro o chęci przekazywania IP

echo 1 > /proc/sys/net/ipv4/ip_forward

for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

# Ładujemy możliwośc śledzenia połaczeń

modprobe ip_conntrack

modprobe ip_conntrack_ftp

# Ochrona przed atakami typu Smurf

echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Właczamy ochrone przed komunikacja ICMP error

echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Wlacza logowanie dziwnych pakietow (spoofed. source routed. redirects)

echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

#wyczyszczenie starych reguł z pamięci iptables

$i -F

$i -X

$i -t nat -X

$i -t nat -F

# ustawienie domyślnej polityki (o tym później)

$i -P INPUT ACCEPT

$i -P FORWARD ACCEPT

$i -P OUTPUT ACCEPT

$i -A INPUT -i lo -j ACCEPT

$i -A FORWARD -o lo -j ACCEPT

# Najważniejsze - udostępnienie sieci dla wybranych podsieci

$i -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

$i -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

#iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE

# Ogranicznie ping do 1 na sekunde

$i -A INPUT -p icmp --icmp-type echo-request -j ACCEPT -m limit --limit 1/sec

# Pozwalamy na korzstanie z protokolow w trybie passive on

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

# Zapisujemy caly nasz ruch w logach

$i -A INPUT -j LOG -m limit --limit 15/hour # 15 logow na godzine

$i -A OUTPUT -j LOG -m limit --limit 15/hour

$i -A FORWARD -j LOG -m limit --limit 15/hour

# Blokowanie IP

iptables -A INPUT -p tcp --src 83.3.189.169 -j DROP

iptables -A INPUT -p tcp --src 94.37.17.111  -j DROP

# Otwieranie portów na serwerze

iptables -A INPUT -p TCP --dport 9022 -i ${WAN} -j ACCEPT

iptables -A INPUT -p TCP --dport 9021 -i ${WAN} -j ACCEPT

#iptables -A INPUT -p TCP --dport 465 -i $(WAN) -j ACCEPT

#iptables -A INPUT -p UDP --dport 465 -i $(WAN) -j ACCEPT

iptables -A INPUT -p TCP --dport 465 -i ${WAN} -j ACCEPT

iptables -A INPUT -p TCP --dport 30000:30100 -i ${WAN} -j ACCEPT

iptables -A INPUT -p UDP --dport 30000:30100 -i ${WAN} -j ACCEPT

iptables -A INPUT -p TCP --dport 80 -i ${WAN} -j ACCEPT

iptables -A INPUT -p TCP --dport 3306 -i ${LAN} -j ACCEPT

iptables -A INPUT -p TCP --dport 4080 -i ${LAN} -j ACCEPT

iptables -A INPUT -p TCP --dport 4080 -i ${WAN} -j ACCEPT

iptables -A INPUT -p TCP --dport 9001 -i ${LAN} -j ACCEPT

iptables -A INPUT -p TCP --dport 631 -i ${LAN} -j ACCEPT

#Ostatecznie dodajemy regułki dla NAT

iptables -I FORWARD -i ${LAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT

iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.0.0 -j ACCEPT

iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT

iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE

# Przekierowanie Portów

#iptables -t nat -A PREROUTING -p tcp --dport 36000 -i ${WAN} -j DNAT --to 192.168.0.2

#iptables -t nat -A PREROUTING -p udp --dport 36000 -i ${WAN} -j DNAT --to 192.168.0.2

#iptables -t nat -A PREROUTING -p tcp --dport 9000 -i ${WAN} -j DNAT --to 192.168.0.2

#iptables -t nat -A PREROUTING -p tcp --dport 7021 -i ${WAN} -j DNAT --to 192.168.0.2

#iptables -t nat -A PREROUTING -p udp --dport 7021 -i ${WAN} -j DNAT --to 192.168.0.2

iptables -t nat -A PREROUTING -p tcp --dport 28960 -i ${WAN} -j DNAT --to 192.168.0.5

iptables -t nat -A PREROUTING -p udp --dport 28960 -i ${WAN} -j DNAT --to 192.168.0.5

#iptables -t nat -A PREROUTING -p tcp --dport 28960 -i ${WAN} -j DNAT --to 192.168.0.2

#iptables -t nat -A PREROUTING -p udp --dport 28960 -i ${WAN} -j DNAT --to 192.168.0.2

iptables -t nat -A PREROUTING -p tcp --dport 20510 -i ${WAN} -j DNAT --to 192.168.0.5

iptables -t nat -A PREROUTING -p udp --dport 20500 -i ${WAN} -j DNAT --to 192.168.0.5

iptables -t nat -A PREROUTING -p tcp --dport 10271 -i ${WAN} -j DNAT --to 192.168.0.5

iptables -t nat -A PREROUTING -p udp --dport 10271 -i ${WAN} -j DNAT --to 192.168.0.5

#Poniższe polecenia sprawią, że przy każdym uruchomieniu routera

#nie będziemy musieli wpisywać ręcznie wszystkich regułek

/etc/init.d/iptables save

# rc-update add iptables default

/etc/init.d/iptables restart

----------

## gall

example:

iptables -t nat -A PREROUTING -i eth2 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.100.102:80

iptables -A INPUT -i eth2 -p tcp -m tcp --dport 80 -j ACCEPT

eth2 to interface WAN

przekierowanie portu 80 routera na port 80 komputera 192.168.100.102 w sieci LAN

----------

## machiavelli

tylko czy trzeba otwierać porty na serwerze by je przekierować na innego kompa ??, wiem że kiedyś działało bez otwierania ich na serwerze, no chyba że mam amnezję i nie pamiętam, kiedyś nie miałem 2 podsieci i działało.

----------

## gall

Tak . . . Konieczne jest otwarcie portu.

----------

## Kurt Steiner

machiavelli, używaj BBCode - poprawi to czytelność postów.

----------

