- 论坛徽章:
- 0
|
环境:
(借用一下别人的图图)
internet----router----------firewall----3L switch---2L switch---client
|
|
2L switch
|
|
www servers
一、ROUTER
1. 在router上做ARP地址绑定
arp 219.143.**.1 0013.72fa.**** ARPA
arp 219.143.**.2 0013.72fa.**** ARPA
arp 219.143.**.3 0013.72fa.**** ARPA
.....(略)
2. Router上的路由配置
ip route 0.0.0.0 0.0.0.0 219.142.**.**(上级网关,这个不用管它)
ip route 192.168.1.0 255.255.255.0 219.143.**.2
ip route 192.168.2.0 255.255.255.0 219.143.**.2
。。。略
对内私网的路由,到我的firewall外网口219.143.**.2
二、Firewall
外网口 219.143.**.2
内网口 192.168.10.1
1.firewall路由
219.143.**.1 0.0.0.0 255.255.255.240 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
....略
0.0.0.0 219.143.**.4 0.0.0.0 UG 0 0 0 eth0
219.143.**.4 是路由器的内网口,Default gw。
1. 在Iptables上做DNAT
nat表
PREROUTING -d 219.143.**.3 -p tcp -m tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.1.100
这样,外网访问IP 219.143.**.3可以直接访问到192.168.1.100这台机器上的80和8080端口;
现在问题是内网直接访问219.143.**.3,无法访问,.用私网地址可以,公网地址不行。
查了下资料,做如下测试:
1. 在nat表增加
POSTROUTING -s 192.168.0.0/255.255.0.0 -d 192.168.1.100 -j SNAT --to-source 192.168.10.1
不管用。
POSTROUTING -s 192.168.0.0/255.255.0.0 -d 219.143.**.3 -j SNAT --to-source 192.168.10.1
也不管用。
PREROUTING -s 192.168.0.0/255.255.0.0 -d 219.143.**.3 -j DNAT --to-destination 192.168.1.100
也不管用。
在firewall内网口抓包,有数据过来,然后就不知道哪去了,也不传到外网口去,好像直接丢弃了。。。
刚看有网上说3层交换上还得做回流,我的映射又不是在路由器和交换机上做的,应该和它们没有关系吧。
|
|