- 论坛徽章:
- 0
|
各位:
我的主机系统是redhat 7.3 Server,采用iptables 2.4做网络防火墙。
但是,我的外部IP与内部IP(位于防火墙后面一台主机)映射关系一直不成功。请问:
1.要启用iptable 的IP 地址NAT,是否必须重新编译linux内核,将networking
Options 中的Networking packet filtering,
Full NAT,
MASQUERADE target support,
REDIRECT target support 全部选中?
如果使用make xconfigure编译,是否还需要make modules,
make modules_install, depmod -a?
2.如果要将位于防火墙后面一台内网主机的IP映射成外网上一个IP,是否必
须在防火墙的外网卡上通过命令 ifconfig eth0 add xxxx netmask yyyy,在外网卡上虚拟一个IP,而不是通过 ifconfig eth0:1 xxxx netmask yyyy的方式产生一个子网口地址?
我准备映射的外部地址为10.100.18.100,我执行命令
ifconfig eth1 add 10.100.18.100 netmask 255.255.0.0
iptables -t nat -A PREROUTING -d 10.100.18.100 -j DNAT --to
20.100.100.2
iptables -t nat -A POSTROUTING -s 20.100.100.2 -j SNAT --to
10.100.18.100
然后在外网telnet 10.100.18.100时,登陆的主机竟然是防火墙,为什么不是防火墙后的内网主机20.100.100.2?(防火墙IP:10.100.18.5/16)
3.大家看看我的配置吧,我已经精疲力尽了,请大家帮我看看为什么登陆的是FireWall,而不是找到firewall后面的那台主机?
外网:10.100.0.0/16,内网 20.100.0.0/16
FW外网口eth1 10.100.18.5/16,内网口 eth0 20.100.100.254/16
iptables配置:
echo "1" >; /proc/sys/net/ipv4/ip_forward
ifconfig eth1 add 10.100.18.100 netmask 255.255.0.0
rmmod ipchains
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -A FORWARD -s 20.100.0.0/16 -d 10.100.0.0/16 -j ACCEPT
iptables -t nat -A PREROUTING -d 10.100.18.100 -i eth1 -j DNAT --to 20.100.100.2
/sbin/iptables -t nat -A POSTROUTING -s 20.100.100.2 -o eth1 -j SNAT --to 10.100.18.100
telnet 10.100.18.100后竟然与10.100.18.5是同一主机,只是
10.100.18.5->;eth1
10.100.18.100->;eth1:0
为什么不是20.100.100.2?
请大家帮忙啊!  |
|