IPTABLE做NAT共享小区宽带上网

我用新装的redhat 7.2,公司的代理服务器有两个网卡:eth0:172.16.0.1/24(公司内部网段),eth1:10.12.9.172/24(小区宽带分配的地址),在linux服务器上可以上网,打算用iptable做NAT公司共享上网,于是:
echo 1 〉/proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
modprobe ip_table
modprobe ip_nat_table
modprobe ip_conntrack
modprobe ip_conntrack_ftp
iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -o eth0 -j SNAT --to 10.12.9.172
iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 172.16.0.1
之后,只是在172.16.0.2上可以ping到所有广域地址,比如:202.96.134.133等,但是,就是不能上网,发现DNS不能解析,有发现telnet,ftp都不能出去,请大家帮忙检查问题何在?为何只可以过ICMP报文,是否和firewall有关呢?急切盼复,谢谢!
求助IPTABLE做NAT共享小区宽带上网,谢谢!

把FIREWALL设为NONE试试

oak
求助IPTABLE做NAT共享小区宽带上网,谢谢!

现在问题完全解决了,经检查和故障在现,是我的iptable语句出错,应该为
去除PREROUTING语句,并更改POSTROUTING语句为:iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -o eth1 -j SNAT --to 10.12.9.172,希望对以后需要在相同场景下配置服务器的朋友有所帮助,并谢谢所有关心的朋友!
在内部主机连接到外部网络时,当第一个数据包到达NAT路由器时,router检查它的NAT表,因为是NAT是静态配置的,故可以查询出来(simply entry),然后router将数据包的内部局部IP(源地址)更换成内部全局地址,再转发出去。外部主机接受到数据包用接受到的内部全局地址来响应,NAT接受到外部回来的数据包,再根据NAT表把地址翻译成内部局部IP,转发过去。为什么要“将数据包的内部局部IP(源地址)更换成内部全局地址,再转发 出去。外部主机接受到数据包用接受到的内部全局地址来响应,NAT接受到 外部回来的数据包,再根据NAT表把地址翻译成内部局部IP,转发过去。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值