centos(4) iptables 构建局域网环境

由于项目的需要, 用虚拟机实现的网络环境, 其中一台作为 bridge,所有的其他的机器,都通过bridge进行中转, 于是用linux 的Iptables nat 功能来实现。 

网络拓朴如下 :

 

 

对于 bridge ,它有一个公网的IP,一个内网的IP,其他的机器都只有内网的IP,并将bridge的内网IP作为 网关来使用。

为了保证网络地址的确定, 首先用dhcp的方式来获得公网的IP,然后再用静态的方式进行设置 , 如何设置静态IP地址 请参考 Centos(1) 设置静态IP 如下:

 

 

 

 

 目前bridge的跟帖情况如下:

 

 

然后设置其他的内网机器, 如下:

 

再测试一下网络的连通性,从内部访问外部的IP地址,是可以连通的

 

 

在bridge上设置 iptables 如下:

 

测试一下iptables是不是可以的,用iptables -t nat -L, 发现我们设定的到192.168.110.10的22端口是存在的。

 

这一步是最最关键的, 笔者当时就是没有设定好这一步, 造成从外面怎么访问 10.64.70.64的1022端口都 不行,说是connection failed.

 

就是在/etc/sysctrl.conf中设定net.ipv4.ip_forwarding,

 

至此, 用iptables来实现 上面的网络架构已经结束, 在这个过程中, 从网络上搜索到的许多的内容是没有办法使用的, 以此文为以后的查询作基础。

也希望对其他的人有用。


8/12 日添加

当我们设置好了nat之后, 我们可以测试他们的联通性,但是如果当不通时候,怎么来debug.

首先, 我们在/etc/sysconfig/iptables 中添加如下的内容。

-A PREROUTING -i eth0 -p tcp -j LOG --log-level warning --log-prefix "***nat-statu***"
重启iptables

service iptables restart
这样的话,每一个进来的tcp的信息,我们都用warning的方法来打印出来 。

其次, 设置 syslog

vim /etc/syslog.conf
#2添加如下的内容
kern.warning    /var/log/iptables.log
重启syslog


然后可以 在/var/log/iptables.log中查看, 连接的信息



这样就可以实现 简单的debug.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值