請教有關指向的問題

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

請教有關指向的問題

文章pp106 » 週二 1月 17, 2006 10:17 am

請問一下,

小弟架了NAT及iptables,
在iptables設定了指向B機讀取web,mail.ftp等等server,
但一直都無法讀取到B機...

我把我設定的iptables給各位看,希望各位能不吝指教的指導一下那一個地方出錯,謝謝!!

#!/bin/sh
#JAN-01-15-2006
## NAT ##
iptables -F -t filter
iptables -t mangle -F
iptables -t mangle -X
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat

echo "NAT"
echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 1.2.3.4

echo "--------------done"
echo

## firewall rules ##
echo "GAU-HUEI firewall rules"
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

## LOOKBACK ##
iptables -A INPUT -i lo -j ACCEPT

#allow
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
#iptables -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
#iptables -A INPUT -i eth0 -p tcp --dport 10000 -j ACCEPT
#iptables -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT
#iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT

#allow old connection and deny new connection
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP

## ssh ##
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.100.0/24 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

# 只有本主機所屬網段才能連到這台主機的 Samba port tcp 139 / udp 137,138
iptables -A INPUT -p tcp -s 192.168.100.0/24 --dport 139 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.100.0/24 --dport 137 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.100.0/24 --dport 138 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j DROP
iptables -A INPUT -p udp --dport 137 -j DROP
iptables -A INPUT -p udp --dport 138 -j DROP

## 將外部網路導向內部主機 http mail ftp等等即同##
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.100.228:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j DNAT --to 192.168.100.228:21

#
iptables -N ping
iptables -A ping -p icmp --icmp-type echo-request -m limit --limit 1/second -j RETURN
iptables -A ping -p icmp -j REJECT
iptables -I INPUT -p icmp --icmp-type echo-request -m state --state NEW -j ping

#cat's port scan
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

#cat's sync flood
iptables -N synfoold
iptables -A synfoold -p tcp --syn -m limit --limit 1/s -j RETURN
iptables -A synfoold -p tcp -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp -m state --state NEW -j synfoold

#cat's scan ACK SYN FIN
iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

echo "--------------done"
echo

說明一下
A機我只拿來當nat及iptables用
B機則拿來當web,mail等等的server,

A機一直沒有辦法指向到B機...
搞了很多次也爬了很多的文都一直搞不好.
希望大家能多多幫忙一下...謝謝!!
pp106
可愛的小學生
可愛的小學生
 
文章: 14
註冊時間: 週六 12月 10, 2005 5:49 pm

文章pp106 » 週三 1月 18, 2006 9:44 am

最後如下,我把簡單化後但它還是無法指向B機....好苦惱!!
不知是那裡出錯了...
希望各位能幫我檢視一下.謝謝!!

#!/bin/bash
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_filter
/sbin/modprobe ipt_state
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_REJECT
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp

#clean all rules
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -F -t nat
/sbin/iptables -X -t nat
/sbin/iptables -Z -t nat
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 222.222.22.22(真實IP)

# ICMP
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
AICMP="0 3 3/4 4 11 12 14 16 18"
for tyicmp in $AICMP
do
/sbin/iptables -A INPUT -i eth0 -p icmp --icmp-type $tyicmp -j ACCEPT
done

#SSH
/sbin/iptables -A INPUT -p tcp -s 192.168.100.0/24 --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j DROP

#Allow services
/sbin/iptables -A INPUT -p TCP -i eth0 --dport 22 -j ACCEPT # SSH
#/sbin/iptables -A INPUT -p TCP -i eth0 --dport 25 -j ACCEPT # SMTP
#/sbin/iptables -A INPUT -p UDP -i eth0 --dport 53 -j ACCEPT # DNS
#/sbin/iptables -A INPUT -p TCP -i eth0 --dport 53 -j ACCEPT # DNS
#/sbin/iptables -A INPUT -p TCP -i eth0 --dport 80 -j ACCEPT # WWW
#/sbin/iptables -A INPUT -p TCP -i eth0 --dport 110 -j ACCEPT # POP3
#/sbin/iptables -A INPUT -p TCP -i eth0 --dport 113 -j ACCEPT # auth

#iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport [外部port] -j DNAT --to-destination [主機虛擬IP:內部port]
#iptables -t nat -A POSTROUTING -d [主機虛擬ip] -j SNAT --to-source [NAT server 虛擬ip]

#DNAT
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -d 222.222.22.22 --dport 80 -j DNAT --to-destination 192.168.100.2228:80
#/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -d 222.222.22.22 --dport 25 -j DNAT --to 192.168.2.37:25

/sbin/iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -p tcp -d 192.168.100.228 --dport 80 -j MASQUERADE
pp106
可愛的小學生
可愛的小學生
 
文章: 14
註冊時間: 週六 12月 10, 2005 5:49 pm

文章訪客 » 週五 1月 20, 2006 1:35 am

嗨,pp106兄,
#DNAT
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -d 222.222.22.22 --dport 80 -j DNAT --to-destination 192.168.100.2228:80
" 192.168.100.2228:80 " 這個是您文章中打錯還是script打錯?


然後,
您的對外連線是不是固定ip, 並且不用撥接(沒有ppp0介面)?
您的介面有哪幾個? 哪個是連外? 哪個連到內部主機?


/sbin/iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -p tcp -d 192.168.100.228 --dport 80 -j MASQUERADE
再請問,這一行是做什麼用的?
訪客
 


回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron