Προς το περιεχόμενο

Μια βοηθεια με iptables


lagman

Προτεινόμενες αναρτήσεις

Είχα στήσει ένα pc με debian για να είναι router firewall - web server ήταν εύκολο να επιτρέπω τα πάντα χωρίς κανόνες ...

 

Τώρα που ασχολήθηκα ξανά προσπαθώ να καταλάβω τα iptables διάβασα τον οδηγό του apoikos διάβασα και μερικά link αλλά δεν ...

 

Θέλω να φτιάξω ένα firewall που να επιτρέπει πρόσβαση στον web server μου,να επιτρέπει ssh,και να μπορώ να δω σελίδες για αρχή .

Αυτό όμως θέλω να το κάνω ορίζοντας συγκεκριμένες ip από το εσωτερικό μου δίκτυο .

 

Έχω το debian pc ενα laptop και ένα voip gateway linksys spa 3102 .

 

ξεκίνησα αυτό αλλά έχει λάθος στο forward γιατί το laptop και το voip gateway δεν βλέπουν internet , μάλλον έχει πολλά λάθη ...

 

 

δίνοντας netstat -nr παίρνω :

 

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

194.219.239.109 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0

 

τα interface στο debian

 

iface eth1 inet static

address 192.168.1.1

netmask 255.255.255.0

network 192.168.1.0

broadcast 192.168.1.255

gateway 0.0.0.0

 

iface eth0 inet static(bridge mode με το router)

address 0.0.0.0

netmask 0.0.0.0

gateway 0.0.0.0

 

 

και οι κανόνες που προσπαθώ να εφαρμόσω ...

 

# !/bin/sh

# Script for starting up the masquearading thing

printf "Starting Masq...\n"

IPTABLES="`which iptables`"

EXTIF="ppp0"

INTIF="eth1"

EXTIP="`/sbin/ifconfig ppp0 | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"

echo "Internal interface" $INTIF

echo "External interface" $EXTIF

echo "Take time to configure me so that I can load modules too. \n"

 

printf "Enabling forwarding...\n"

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

printf "[Done]\n"

 

printf "Enabling dynamic ip...\n"

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

printf "[Done]\n"

 

printf "Clearing any existing rules and setting default policy...\n"

iptables -F

iptables -F INPUT

iptables -F OUTPUT

iptables -F FORWARD

iptables -F -t mangle

iptables -F -t nat

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP

printf "[Done]\n"

 

printf " FWD: Allow all connections OUT and only existing and related ones IN\n"

$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allowed traffic from inside to outside

#http

$IPTABLES -A FORWARD -o $EXTIF -p tcp --destination-port 80 -j ACCEPT

$IPTABLES -A FORWARD -o $EXTIF -p udp --destination-port 80 -j ACCEPT

$IPTABLES -A FORWARD -o $EXTIF -p tcp --destination-port 8080 -j ACCEPT

$IPTABLES -A FORWARD -o $EXTIF -p udp --destination-port 8080 -j ACCEPT

#ftp

$IPTABLES -A FORWARD -o $EXTIF -p tcp --destination-port 20 -j ACCEPT

$IPTABLES -A FORWARD -o $EXTIF -p tcp --destination-port 21 -j ACCEPT

#dns

$IPTABLES -A FORWARD -o $EXTIF -p tcp --destination-port 42 -j ACCEPT

$IPTABLES -A FORWARD -o $EXTIF -p tcp --destination-port 53 -j ACCEPT

$IPTABLES -A FORWARD -o $EXTIF -p udp --destination-port 53 -j ACCEPT

#https

$IPTABLES -A FORWARD -o $EXTIF -p tcp --destination-port 443 -j ACCEPT

$IPTABLES -A FORWARD -o $EXTIF -p udp --destination-port 443 -j ACCEPT

#Voip

$IPTABLES -A FORWARD -o $EXTIF -p udp --destination-port 5060 -j ACCEPT

$IPTABLES -A FORWARD -o $EXTIF -p udp --destination-port 5061 -j ACCEPT

$IPTABLES -A FORWARD -s 192.168.1.2/32 -o $EXTIF -p udp --destination-port 5060:5061 -j ACCEPT

#msn

$IPTABLES -A FORWARD -s 192.168.1.4/32 -o $EXTIF -p tcp --destination-port 1863 -j ACCEPT

$IPTABLES -A FORWARD -o $EXTIF -j DROP

$IPTABLES -A FORWARD -j LOG

 

#enabling snat

printf " Enabling SNAT (MASQUERADE) functionality on $EXTIF"

$IPTABLES -t nat -A POSTROUTING -d 192.168.1.1 -j MASQUERADE

 

echo " - Setting the default FORWARD policy to DROP"

$IPTABLES -P FORWARD DROP

# Hosts allowed to have internet

echo " - Enabling SNAT (IPMASQ) functionality on $EXTIF"

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -s 192.168.1.1/32 -j MASQUERADE

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -s 192.168.1.2/32 -j MASQUERADE

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -s 192.168.1.4/32 -j MASQUERADE

ALIAS=$EXTIF

# Servers running on EXTIF

#Http

$IPTABLES -A INPUT -i $ALIAS -m state --state NEW,INVALID -p tcp --destination-port 80 -j ACCEPT

$IPTABLES -A FORWARD -i $ALIAS -d 192.168.1.1/24 -m state --state NEW,INVALID -p tcp --destination-port 80 -j ACCEPT

#$IPTABLES -A FORWARD -i $ALIAS -d $EXTIP -m state --state NEW,INVALID -p tcp --destination-port 80 -j ACCEPT

#SSH

$IPTABLES -A INPUT -i $ALIAS -m state --state NEW,INVALID -p tcp --destination-port 22 -j ACCEPT

$IPTABLES -A FORWARD -i $ALIAS -d 192.168.1.1/24 -m state --state NEW,INVALID -p tcp --destination-port 22 -j ACCEPT

$IPTABLES -A FORWARD -i $ALIAS -d $EXTIP -m state --state NEW,INVALID -p tcp --destination-port 22 -j ACCEPT

 

$IPTABLES -A INPUT -i $ALIAS -m state --state NEW,INVALID -j DROP

$IPTABLES -A FORWARD -i $ALIAS -m state --state NEW,INVALID -j DROP

echo Done for $ALIAS

echo " - Setting the FORWARD policy to 'DROP' all incoming / unrelated traffic"

printf "You are now masquearading.\n"

 

 

το laptop Και το linksys έχουν gateway την 192.168.1.1

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...