Bonjour,
J'ai un pc/Linux (Debian Sarge stable) relié directement à ma freebox.
J'ai installé un switch pour relier mon pc/winXP au pc/Linux.
mon problème = je n'arrive pas à accéder à Internet avec mon pc/winXP pourtant il y a une activité sur le réseau (paquets envoyés et reçus).
Voici mes config, merci de me dire ce que je dois corriger.
Sur Linux
ethO : Configuration Manuelle
adresse ip = 192.168.0.1
masque de sous-réseau = 255.255.255.0
eth1 : configuration automatique DHCP
Sur Win
adresse ip = 192.168.0.2
masque de sous-réseau = 255.255.255.0
passerelle par défaut = 192.168.0.1
j'arrive à ping 192.168.0.1 dpuis mon pc/win (qui est 192.168.0.2)
j'arrive à ping 192.168.0.2 depuis mon pc/win (lui-même quoi)
je n'arrive pas à ping www.google.fr depuis mon pc/win
j'arrive à ping www.google.fr depuis mon pc/linux
je n'arrive pas à ping 192.168.0.2 depuis mon pc/linux
j'arrive à ping 192.168.0.1 depuis mon pc/linux (lui-même quoi)
fichier /etc/init.d/ipfirewall (obtenu auprès d'un ami utilisant Suse) :
######################################
export PATH=$PATHsbinusr/sbin
IPCHAINS="/sbin/ipchains"
IPTABLES="/sbin/iptables"
MODE="iptables"
if [ $MODE = "ipchains" ]; then
test -x $IPCHAINS || exit 5
elif [ $MODE = "iptables" ]; then
test -x $IPTABLES || exit 5
else
echo "No mode defined, u must chose ipchains/iptables .."
fi
. /etc/rc.status
###############################
# IPCHAINS #
###############################
#loader le module sur un kernel 2.4
modload_ipchains() {
/sbin/depmod -a
/sbin/modprobe ipchains >/dev/null 2>&1
# /sbin/modprobe ip_masq_ftp ports=21 >/dev/null 2>&1
# /sbin/modprobe ip_masq_h3233 >/dev/null 2>&1
# /sbin/modprobe ip_masq_irc >/dev/null 2>&1
# /sbin/modprobe ip_masq_cuseeme >/dev/null 2>&1
# /sbin/modprobe ip_masq_quake >/dev/null 2>&1
# /sbin/modprobe ip_masq_raudio >/dev/null 2>&1
# /sbin/modprobe ip_masq_vdolive >/dev/null 2>&1
return 0
}
#demarer le firewall
ip_chains_firewall_on() {
#on ferme
ipchains -P input DENY
ipchains -P forward DENY
#allouer le retour de nos conection
ipchains -A input -p TCP -s 0.0.0.0/0 -d 0.0.0.0/0 \! -y -j ACCEPT
#Servir le Web
ipchains -A input -p TCP -s 0.0.0.0/0 -d $CURENTIP 80 -j ACCEPT
#ipchains -A input -p TCP -s 0.0.0.0/0 -d 0.0.0.0/0 8000 -j ACCEPT
#Servir l'ident
ipchains -A input -p TCP -s 0.0.0.0/0 -d $CURENTIP/24 113 -j ACCEPT
#data Type
ipchains -A output -p tcp -d 0.0.0.0/0 telnet -t 0x01 0x10
ipchains -A output -p tcp -d 0.0.0.0/0 ftp -t 0x01 0x10
ipchains -A output -p tcp -s 0.0.0.0/0 ftp-data -t 0x01 0x08
}
#arreter le firewall
ip_chains_firewall_off() {
ipchains -P input ACCEPT
ipchains -P forward ACCEPT
ipchains -P output ACCEPT
ipchains -F input
ipchains -F forward
ipchains -F output
}
###############################
# IPTABLES #
###############################
modload_iptables() {
/sbin/depmod -a
/sbin/rmmod ipchains >/dev/null 2>&1
/sbin/insmod ip_tables >/dev/null 2>&1
/sbin/insmod ip_conntrack >/dev/null 2>&1
/sbin/insmod ip_conntrack_ftp >/dev/null 2>&1
/sbin/insmod iptable_nat >/dev/null 2>&1
/sbin/insmod ip_nat_ftp >/dev/null 2>&1
#/sbin/insmod ipt_mark
#/sbin/insmod ipt_tcpmss
#/sbin/insmod ipt_limit
#/sbin/insmod ipt_multiport
#/sbin/insmod ipt_state
#/sbin/insmod ipt_unclean
#/sbin/insmod iptable_filter
#/sbin/insmod iptable_mangle
}
ip_tables_firewall_on() {
#police par default reject
$IPTABLES -P INPUT DROP
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
#loopback
$IPTABLES -A INPUT -i lo -s 127.0.0.0/8 -j ACCEPT
$IPTABLES -A INPUT -i eth0 -s 192.168.0.1/32 -d 192.168.0.1/32 -j ACCEPT
$IPTABLES -A INPUT -i eth0 -s 192.168.0.1/32 -d 127.0.0.1/8 -j ACCEPT
#retour des connections ouvertes par la station
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Connection depuis le lan interne
$IPTABLES -A INPUT -i eth0 -s 192.168.0.1/24 -d 192.168.0.1/24 -j ACCEPT
$IPTABLES -A OUTPUT -o eth0 -s 192.168.0.1/24 -d 192.168.0.1/24 -j ACCEPT
#httpd
$IPTABLES -A INPUT -i eth1 -p tcp -s 0.0.0.0 -d $CURENTIP --dport 80 -j ACCEPT
$IPTABLES -A INPUT -i eth1 -p tcp -s 0.0.0.0 -d $CURENTIP --dport 443 -j ACCEPT
#forward
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i eth0 -o eth1 -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE
}
ip_tables_firewall_off() {
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
}
###############################
# Common Start #
###############################
modload_ipfirewall() {
if [ $MODE = "ipchains" ]; then
modload_ipchains
elif [ $MODE = "iptables" ]; then
modload_iptables
else
echo "No mode defined, u must chose ipchains/iptables .."
fi
}
ip_firewall_on() {
# ifconfig ppp0 |grep "inet addr:" >/dev/null 2>&1 || exit 5
CURENTIP=`ifconfig ppp0 |grep "inet addr:"|cut -f2 -d ":"|cut -f1 -d " "`
ROUTER=`ifconfig ppp0 |grep "inet addr:"|cut -f3 -d ":"|cut -f1 -d " "`
CURENTIP=81.***.***.***
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
fi
if [ -e /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ]; then
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
fi
echo 1 > /proc/sys/net/ipv4/ip_forward
if [ $MODE = "ipchains" ]; then
ip_chains_firewall_on
elif [ $MODE = "iptables" ]; then
ip_tables_firewall_on
else
echo "No mode defined, u must chose ipchains/iptables .."
fi
}
ip_firewall_off() {
if [ $MODE = "ipchains" ]; then
ip_chains_firewall_off
elif [ $MODE = "iptables" ]; then
ip_tables_firewall_off
else
echo "No mode defined, u must chose ipchains/iptables .."
fi
}
ip_firewall_view() {
if [ $MODE = "ipchains" ]; then
ipchains -L -n
elif [ $MODE = "iptables" ]; then
iptables -L -n
echo -e "\n\nnat table:"
iptables -L -n -v -t nat
echo -e "\n\nmangle table:"
iptables -L -n -v -t mangle
else
echo "No mode defined, u must chose ipchains/iptables .."
fi
}
###############################
# Appel Argument #
###############################
case "$1" in
status)
if [ `/sbin/ipchains -L input -n | grep "policy DENY" | wc -l`
-eq 1 ]
then
echo "ipfirewall is on."
else
echo "ipfirewall is off."
fi
rc_status -v
;;
start)
echo -n "Starting Firewall"
modload_ipfirewall
ip_firewall_on
rc_status -v
;;
stop)
echo -n "Stoping Firewall"
ip_firewall_off
rc_status -v
;;
restart)
ip_firewall_off
ip_firewall_on
rc_status
;;
view)
echo -n "Curent cirewall config:"
ip_firewall_view
rc_status -v
;;
*)
echo "Usage: /etc/rc.d/init.d/ipfirewall
{status|start|stop|restart|view}"
;;
esac
exit 0
######################################
Merci pour votre aide.