goldyfruit Je me lève et je confirme ! | Bonsoir,
Sur mon serveur je possède deux interfaces, ETH0 pour l'internet et ETH1 pour le local.
Je fais du PREROUTING afin de pouvoir accéder à des serveurs WEB, SSH, etc.. de l'internet vers mon réseau local, la directive de POSTROUTING MASQUERADE est en place.
Dans cette configuration, depuis le routeur je peux faire un SSH vers les serveurs de mon réseau local, jusque là tout va bien.
Le problème que je rencontre actuellement est que je souhaites faire en sorte que mon serveur de messagerie par exemple sorte avec sa propre IP publique et non celle du routeur. Pour se faire je supprime donc l'option MASQUERADE, le serveur sort bien avec sa propre IP mais je ne peux plus faire de SSH (par exemple) sur les serveurs présents dans mon réseau local.
Voici mon script :
Code :
- #!/bin/bash -x
- WAN="eth0"
- LAN="eth1"
- IPTABLES=$(which iptables)
- echo "1" > /proc/sys/net/ipv4/tcp_syncookies
- echo "1024" > /proc/sys/net/ipv4/tcp_max_syn_backlog
- echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
- echo "1" > /proc/sys/net/ipv4/ip_forward
- modprobe ip_nat_ftp
- modprobe ip_conntrack_ftp
- # Filtre la table FILTER.
- /sbin/iptables -F
- /sbin/iptables -F -t nat
- /sbin/iptables -F -t mangle
- # Supprime toutes les regles.
- /sbin/iptables -X
- /sbin/iptables -Z
- /sbin/iptables -P INPUT DROP
- /sbin/iptables -P OUTPUT DROP
- /sbin/iptables -P FORWARD DROP
- # Accepte toutes les connexions sur l'interface loopback.
- /sbin/iptables -A INPUT -i lo -j ACCEPT
- /sbin/iptables -A OUTPUT -o lo -j ACCEPT
- # Accepte tout le trafic entrant et sortant sur ETH1 (reseau local).
- /sbin/iptables -A INPUT -i ${LAN} -j ACCEPT
- /sbin/iptables -A OUTPUT -o ${LAN} -j ACCEPT
- # Autorise les paquets a sortir vers l'internet.
- /sbin/iptables -A OUTPUT -o ${WAN} -j ACCEPT
- # Autorise les nouvelles connexions etablies par la passerelle a passer le pare-feu.
- /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- /sbin/iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
- /sbin/iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
- # Active le routage des paquets.
- /sbin/iptables -A FORWARD -i ${LAN} -j ACCEPT
- /sbin/iptables -A FORWARD -o ${LAN} -j ACCEPT
- # Active l'option de masquage des adresses IP locales vers l'internet.
- /sbin/iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
- # Ouverture des ports 22,80,443 et 1311.
- /sbin/iptables -A INPUT -i ${WAN} -p tcp -m state --state NEW -m multiport --destination-port 22,80,443,1311 -j ACCEPT
- /sbin/iptables -A INPUT -i ${WAN} -p udp -m state --state NEW -m multiport --destination-port 623 -j ACCEPT
- # Accepte le ping.
- /sbin/iptables -A INPUT -p icmp -j ACCEPT
- NAT_DIRECTORY="/etc/firewall/nat"
- # Redirige les requetes venant de l'adresse IP public vers un serveur en local.
- for I in $(ls ${NAT_DIRECTORY}/*.conf); do
- . ${I}
- /sbin/iptables -t nat -A PREROUTING -p ${PROTOCOL} -i ${DEVICE} -m multiport --dport ${PORTS} \
- -d ${SOURCEIP} -j DNAT --to-destination ${DESTINATIONIP}
-
- iptables -t nat -A POSTROUTING -s ${DESTINATIONIP} -o ${DEVICE} -j SNAT --to-source ${SOURCEIP}
- done
|
Qu'ai-je oublié ?
Merci. Message édité par goldyfruit le 01-09-2011 à 21:37:11 ---------------
https://openvoiceos.org | https://github.com/orgs/smartgic/
|