网上肯定能找到答案的,只是你没找到或不细心。照我说的做吧,我尽量解释清楚。
/etc/init.d/iptables start 启动iptables
初始化iptables,删除之前的规则,
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
允许SSH进入,要不然等下就连不上去了
iptables -A INPUT -p TCP --dport 22 -j ACCEPT
设置默认出入站的规则
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
载入相应的模块
modprobe ip_tables
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
配置默认的转发规则
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
允许内网连接
iptables -A INPUT -i 内网网卡名(比如eth1) -j ACCEPT
启用转发功能
echo "1" > /proc/sys/net/ipv4/ip_forward
配置源NAT,允许内网通过主机nat上网,即所谓的网络共享
iptables -t nat -A POSTROUTING -s 内网网卡名 -o 外网网卡名 -j MASQUERADE
把FTP服务器映射到外网
iptables -t nat -A PREROUTING -p tcp -d 58.222.1.3 --dport 21 -j DNAT --to 192.168.0.211:21
结束,别忘了保存
service iptables save
192.168.0.211的网关应该设成这成主机192.168.0.1。这样就行了。
这个贼简单!做个DNAT就可以了…
在RHEL4上输入:iptables -t nat -A PERROUTING -p tcp 21 -j DNAT --to-destination 192.168.0.211
然后把192.168.0.211的网关指向192.168.0.1这样就行了,记得保存下iptables规则,service iptables save
说的已经很详细了,这个还理解不了嘛?“把192.168.0.211的网关指向192.168.0.1?”这个就是改网卡配置文件中的“GATEWAY=192.168.0.1”
就是因为外网的IP在网关处,所以要在网关处写上面那条iptables转发规则,如果你还是不理解,那我也没办法了…
问一下你用的路由器是不是modem ? 是的话直接将linux的内网ip放到 DMZ区.以后想开什么端口,直接用外网都可以访问.