IPtables på Debian 2.4 - blokere den for indgående trafik?
Hej.Jeg har gennem mit antennelaug fået en fast offentlig IP som vha. NAT 1:1 bliver til en fast privat IP som min Linux-server har.
I Linux-serveren sidder der to netkort så den altså fungere som router for de andre maskiner på nettet. Derfor skal der være en firewall i den, så de andre er sikret.
Jeg benytter derfor følgende script når maskinen starter:
#!/bin/sh
INTIP=192.168.1.1/24
EXTIP=10.3.36.44
# tillad forwarding af pakker
echo "1" > /proc/sys/net/ipv4/ip_forward
# luk al indgaaende som standard
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# kaederne bliver lige tOmt, saa man kan kOre scriptet igen uden problemer
iptables -F
iptables -t nat -F
# lav en ny kaede
iptables -N block
# tillad alt lokal trafik
iptables -A INPUT -i lo -j ACCEPT
# vi tillader trafik paa forbindelser, der er blevet oprettet
iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
# og vi tillader nye forbindelser, hvis de kommer indefra
iptables -A block -m state --state NEW -i eth0 -j ACCEPT
# aktiver source nat
iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -d "!" 192.168.1.1/24 -j SNAT --to $EXTIP
# tillad adgang til udvalgte services udefra
iptables -A INPUT -p tcp -d $EXTIP --dport ssh -j ACCEPT
iptables -A INPUT -p tcp -d $EXTIP --dport ircd -j ACCEPT
iptables -A INPUT -p tcp -d $EXTIP --dport 80 -j ACCEPT
# spaer for adgang til visse services
iptables -A INPUT -p tcp -d $INTIP --dport smtp -j DROP
iptables -A INPUT -p udp -d $INTIP --dport syslog -j DROP
iptables -A INPUT -p tcp -d $INTIP --dport swat -j DROP
iptables -A INPUT -p tcp -d $INTIP --dport printer -j DROP
# blockkaeden kobles paa INPUT og FORWARD kaederne
# Det betyder at der er adgang til alt indefra (paa naer det, der blev
# droppet lige fOr, og til ALT udaf, men ingenting udefra
iptables -A INPUT -j block
iptables -A FORWARD -j block
# og derudover logger vi alt, der prOver at blive forwarded
# med max 1 pr sek og burst paa 3
iptables -A FORWARD -m limit --limit 1/s --limit-burst 3 -j LOG \
--log-prefix "FORWARD: " --log-ip-options --log-tcp-options
# saet Type Of Service til lav forsinkelse for telnet/ssh
iptables -t mangle -A PREROUTING -p tcp --dport telnet -j TOS --set-tos 0x10
iptables -t mangle -A PREROUTING -p tcp --dport ssh -j TOS --set-tos 0x10
# saet Type Of Service til high throughput for FTP
iptables -t mangle -A PREROUTING -p tcp --dport ftp -j TOS --set-tos 0x08
Mit problem er at mennesker udefra hverken kan se serveren ved bare at gå ind på den fast offentlige IP eller pinge den.
Skal der redigeres noget i min IPtables eller ligger fejlen måske hos min udbyder?
TheEmail
