που είναι το λάθος; iptables script
Demosthenes Koptsis
demosthenesk at gmail.com
Sun May 8 18:36:09 EEST 2011
μετά το τρέξιμο του σκριπτιού...
κάνω για τεστ
1) ssh user at localhost
και εδώ μου βγάζει κανονικά να βάλω το password.
2) ssh user at 102.168.0.1
που είναι ένα άλλο μηχάνημα στο lan. το firewall είναι στο 192.168.0.2
Εδώ δεν βγαίνει τίποτα.
Σε tab στην κονσόλα παρακολουθώ την κίνηση με ngrep (sudo ngrep port 22
-d eth1) και δεν βλέπω καμία κίνηση.
Πράγμα που σημαίνει ότι το firewall κάνει drop από το default policy
αλλά δεν λειτουργούν τα rules.
Μπορεί κάποιος να το τεστάρει το σκριπτ σε δικό του μηχάνημα (ή να στήσω
κανά virtualbox?)
το έκανα πιο απλό για να δω τι συμβαίνει....
------------------------------------------------
#!/bin/sh
#
# Initscript for firewall.
#
# description: Starts and stops firewall
#
### BEGIN INIT INFO
# Provides: firewall script
# Short-Description: Starts and stops firewall
### END INIT INFO
# Check if root is running this script
if [ $(id -u) -ne 0 ] ; then
echo "ERROR: Try to run this as root."
# LSB specification errorcode
exit 4
fi
flush()
{
#Remove any existing rules from all chains
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush
}
accept_policy()
{
#set default policy to accept
iptables --policy INPUT ACCEPT
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD ACCEPT
iptables -t nat --policy PREROUTING ACCEPT
iptables -t nat --policy OUTPUT ACCEPT
iptables -t nat --policy POSTROUTING ACCEPT
iptables -t mangle --policy PREROUTING ACCEPT
iptables -t mangle --policy OUTPUT ACCEPT
}
drop_policy()
{
#set default policy to drop
iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP
iptables -t mangle --policy PREROUTING DROP
iptables -t mangle --policy OUTPUT DROP
}
remove_user_chains()
{
iptables -X
iptables -t nat -X
iptables -t mangle -X
}
rules()
{
####### Allow any ssh client to any remote ssh server
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -j ACCEPT
##########################################################
}
start()
{
flush
remove_user_chains
#Log everything for debuging
iptables -A OUTPUT -j LOG
iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG
#unlimited traffic on loopback interface
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
drop_policy
rules
}
stop()
{
flush
remove_user_chains
accept_policy
}
restart()
{
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
-------------------------------------------------
On Sun, 2011-05-08 at 13:11 +0300, Thanasis wrote:
> on 05/08/2011 09:25 AM Demosthenes Koptsis wrote the following:
> >
> > Το έκανα αλλά πάλι τα ίδια.
> > Τα rules ενώ υπάρχουν είναι σαν να μην λειτουργούν!
>
> Τί σου βγάζει;
>
> Κάνεις ssh σε ip ή σε όνομα; Διότι το όνομα λογικό είναι να μην κάνει
> resolve όταν όλες οι άλλες θύρες είναι κλειστές.
>
> Δοκίμασε δηλ. ssh <ip_address>
>
> πχ
> ssh 192.168.0.15
> (όπου 192.168.0.15 η IP του sshd servver)
>
> >
> > Παίζει να υπάρχει κανένα bug στον πυρήνα;
> > ή στα deb πακέτα των iptables;
> Δεν νομίζω.
> >
> > Χρησιμοποιώ ubuntu 10.04.
> Δεν ξέρω μήπως παίζει κάτι άλλο, που δεν σχετίζεται άμεσα με το
ssh/sshd
> service.
>
> --
> linux-greek-users mailing list -- http://lists.hellug.gr
More information about the Linux-greek-users
mailing list