=?utf-8?q?Ve=C5=99ejn=C3=A1/priv=C3=A1tn=C3=AD IP p=C5=99es SNAT DNAT nejde?=
poweruser na email.cz
poweruser na email.cz
Sobota Leden 12 00:39:48 CET 2008
Zdravím. Už delší dobu se snažím rozjet převod další veřejné Ip
adresy na privátní na našem malém linux routeru, na kterém běží
NAT a HTB. Vím jaké příkazy je potřeba použít pro převod IP adres,
ale nefunguje mi to.
Cílem je tedy nastavit jednu veřejnou adresu na jednu privátní.
Poskytovatel používá pro převod na náš router ve své síti tyto
příkazy:
/ ip firewall nat
add chain=srcnat src-address=10.10.11.30 action=src-nat
to-addresses=81.31.46.70 to-ports=0-65535 comment="verejna pro router
uzivatele" disabled=no
add chain=dstnat in-interface=Vnejsi dst-address=81.31.46.70
action=dst-nat to-addresses=10.10.11.30 to-ports=0-65535 comment="verejna
pro router uzivatele" disabled=no
Tedy WAN našeho routeru je 10.10.11.30 a je na něj mapována druhá
veřejná adresa 81.31.46.70, kterou bych rád převedl na jednu
privátní adresu v LAN 192.168.1.2
Pro převod chci použít tyto příkazy:
ifconfig eth0:1 81.31.46.70
iptables -t nat -A POSTROUTING -s 192.168.1.2 -j SNAT --to 81.31.46.70
iptables -t nat -A PREROUTING -d 81.31.46.70 -j DNAT --to 192.168.1.2
Ale nevím kam je mám zadat v našem firewall.init, aby to fungovalo.
Buď je IP 192.168.1.2 mapována pod veřejnou našeho NATu, nebo
nefunguje vůbec.
Prosím o radu zkušenějších. Díky.
Tady je výpis firewall.init:
iptables -F
iptables -X
iptables -Z
for i in `cat /proc/net/ip_tables_names`
do
iptables -F -t i
iptables -X -t i
iptables -Z -t i
done
iptables -t nat -I POSTROUTING -o eth0 -p tcp --dport 25 -s ! 192.168.1.40
-j DROP
dnsmasq --server=10.10.11.29 --cache-size=10000
ifconfig eth0:1 81.31.46.70
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -N syn-flood
iptables -A INPUT -i {OUTSIDE_DEVICE} -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP
iptables -A INPUT -i {OUTSIDE_DEVICE} -p tcp ! --syn -m state --state NEW
-j DROP
iptables -t nat -A POSTROUTING -s {INSIDE_NETWORK}/{INSIDE_NETMASK} -o
{OUTSIDE_DEVICE} -j MASQUERADE
iptables -t nat -I POSTROUTING -s 192.168.1.41 -j SNAT --to 81.31.46.70
iptables -t nat -I PREROUTING -d 81.31.46.70 -j DNAT --to 192.168.1.41
iptables -A INPUT -p tcp -m tcp -d {OUTSIDE_IP} -i eth0 --dport 22 --sport
1024:65535 -j ACCEPT
iptables -A FORWARD -m state --state NEW -i {INSIDE_DEVICE} -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW,INVALID -i {OUTSIDE_DEVICE} -j
DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS
--clamp-mss-to-pmtu
iptables -t nat -A PREROUTING -p TCP --dport 135:139 -j DROP
iptables -t nat -A PREROUTING -p UDP --dport 137:139 -j DROP
iptables -t nat -A PREROUTING -p TCP --dport 445 -j DROP
iptables -t nat -A PREROUTING -p UDP --dport 445 -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT # to both sides.
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i {INSIDE_DEVICE} -j ACCEPT
iptables -A OUTPUT T2
iptables -A INPUT -i lo -j ACCEPT
#HTB zacatek
#HTB konec
if [ -f /etc/dmz.info ];
then
echo "Setting up DMZ."
. /etc/dmz.info
iptables -N dmz
if [ "DMZ_USE_NAT" = "y" ]
then
iptables -t nat -A POSTROUTING -s {DMZ_NETWORK}/{DMZ_NETMASK} -o
{OUTSIDE_DEVICE} -j MASQUERADE
fi
fi
iptables -L
echo 7 > /proc/sys/net/ipv4/ip_dynaddr
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
/bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
if [ -f /proc/sys/net/ipv4/conf/all/rp_filter ]
then
echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
else
echo "Anti spoofing is not available, the author of this floppy spoofed,
mail him."
fi
if [ -f /proc/sys/net/ipv4/conf/all/accept_redirects ]
then
echo "0" > /proc/sys/net/ipv4/conf/default/accept_redirects
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
else
echo "Anti spoofing is not available, the author of this floppy spoofed,
mail him."
fi
/bin/echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo "65535" > /proc/sys/net/ipv4/ip_conntrack_max
echo "Enabling IP forwarding."
echo "1" > /proc/sys/net/ipv4/ip_forward
Další informace o konferenci Linux