做firewall的的SNAT实验,最后遭遇的 curl: (7) Failed to connect to 192.168.57.2 port 80: No route to host报错环境:
物理机为ubuntu15.04 (下称U)
vitualbox上的centos7作为firewall的防火墙(下称CF)
virtualbox上的centos7作为httpd服务器(下称为CH)------------------------------------------------------------------------------------------------------
初步认识到firewall只是iptables的不同服务名称,centos7中默认的就是使用firewall防火墙,但是是iptables的命令并没有改变,所以还是使用iptables命令来配置firewall的:U的配置如下:
使用vboxnet0虚拟网卡;地址为192.168.56.1
添加路由记录: route add -net 192.168.57.0/24 gw 255.255.255.0
可以ping通192.168.56.101;192.168.57.1CH的配置如下:
enp0s3地址为192.168.57.2
关闭firewall防火墙:systemctl stop firewalld.service
开启httpd服务:systemctl start httpd.service
ping通CF的enp0s3(192.168.57.1)CF的配置如下:
两个网卡  enp0s3地址为192.168.57.1/24   enp0s8地址为192.168.56.101 开启路由转发功能: echo “1” > /proc/sys/net/ipv4/ip_forward配置SNAT: iptables -t nat -A POSTROUTING -s 192.168.56.0/24 -j SNAT --to 192.168.57.1(将U的请求转发给CF上的enp0s3上)能平通U和CH两台机器测试:U能正常ping通192.168.56.101;192.168.57.1;192.168.57.2,也就是说能正常的与CF和CH通信,CF和CH上使用curl访问CH上的apache服务器网页都是可以的
现在问题就是,在物理机U上面使用curl访问就报错;curl: (7) Failed to connect to 192.168.57.2 port 80: No route to host
请问各位只是什么原因:
1,是ubuntu本身原因还是本身配置就不合理
2,还是说能ping通是不能代表能进行tcp的通信
3,路由的功能只是检查目标地址,SNAT与这样的机制是否有关呢
4,这个实验如何进行抓包跟踪
5,apache这种问题的跟CH路由配置有关吗?长生这种问题的原因还有哪些?
版主,第一次发帖,如果发错板块,还请谅解