QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 516|回复: 0

如何让内网机器访问内网 ftp?

[复制链接]
发表于 2004-8-5 20:22:58 | 显示全部楼层 |阅读模式
+-------+                                                         
+host1+-lan1-ADSL-|
+-------+...................|
````````````````|```````````````````+--------+`````+----+
````````````````+Internet+--ADSL--eth1-+server+-eth0-+ftp +
````````````````|```````````````````+--------+`````+----+
+-------+`````````|                                            
+host2+-lan2-ADSL-|
+-------+                  
                                                                              
如有上述网络结构,eth0=192.168.0.1/24,eth1=192.168.1.1/24
ADSL 均工作在路由模式,相应的端口映射已做好,host1 和 host2 想访问 ftp 服务器,请问如何配置 iptable?
已知下列配置无效:
#!/bin/sh
IPTABLES="/sbin/iptables"

# 加载会用到的模块
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp

# 关闭 ExplicitCongestionNotification
echo 0 > /proc/sys/net/ipv4/tcp_ecn

# 开启 TCPsyncookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# activate Route-Verification = IP-Spoofing_protection
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
        echo 1 > $f
done

# 开启 IP-Forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# 清除所有已设定之规则,回复到不设防状态
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X

# 定义安全政策为正面表列
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

# 安全政策
$IPTABLES -A INPUT -p all -i eth0  -j ACCEPT
$IPTABLES -A INPUT -p all -i lo -s 127.0.0.1 -j ACCEPT
$IPTABLES -A INPUT -p all -i lo -s 192.168.0.1 -j ACCEPT
$IPTABLES -A INPUT -p all -i lo -s 192.168.1.1 -j ACCEPT


$IPTABLES -A FORWARD -i eth0 -o eth1 -j ACCEPT
$IPTABLES -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 21 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --sport 20 -j ACCEPT

$IPTABLES -A OUTPUT -p all -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -p all -s 192.168.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -p all -s 192.168.1.1 -j ACCEPT

# 端口映射
$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 21 -j DNAT --to-destination ftp:21

# 代理上网
$IPTABLES -t nat -A POSTROUTING -s ftp -d 192.168.1.1 -o eth1 -j SNAT --to-source 192.168.1.1
$IPTABLES -t nat -A POSTROUTING -s ftp -d $ADSL_GATEWAY -o eth1 -j SNAT --to-source 192.168.1.1
$IPTABLES -t nat -A POSTROUTING -s ftp -d ! 192.168.1.0/24 -o eth1 -j SNAT --to-source 192.168.1.1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 22:43 , Processed in 0.039689 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表