设置iptables NAT出外网

有时候云上部署环境,不能动态自设路由,没有公网ip地址的服务器,只能通过NAT的方式出外网,下面就记录一下设置过程。

当前状态

服务器A只有一个内网IP,不能上外网,内网IP与服务器B内网相通;服务器B有一个内网IP和公网IP。想实现服务器A也能上外网。

服务器A:内网网卡:eth0  内网IP:192.168.0.10
 
服务器B:内网网卡:eth0  内网IP:192.168.0.20
        外网网卡:eth1  外网IP:203.195.32.138

 实现方法

1、在可以上外网的服务器B上,开启路由转发功能

echo 1 > /proc/sys/net/ipv4/ip_forward

注:上面命令在服务器重启之后会失效,可以编辑/etc/rc.d/rc.local把上面命令添加到最底部,实现开启自动执行。 或者进行如下操作:

编辑/etc/sysctl.conf
找到net.ipv4.ip_forward = 0 修改为 net.ipv4.ip_forward = 1 最后保存。
 
执行sysctl -p命令使配置生效:
# sysctl -p

2、在可以上外网的服务器B上执行添加SNAT规则

# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.10 -j SNAT --to 203.195.32.138

如果想让整个网段都通过服务器B上外网,修改上面规则命令中-s 192.168.0.10为-s 192.168.0.0/24,然后把想上外网的服务器默认网关改成192.168.0.20就可以了。 3、保存刚添加的iptables规则

# service iptables save

4、在需要上外网的服务器A上,修改内网网卡eth0的默认网关为192.168.0.20

# route add default gw 192.168.0.20

修改后,查看路由表,确认已修改成功,测试已经可以上外网了

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         192.168.0.20    0.0.0.0         UG    0      0        0 eth0

测试你ping一下baidu.com 就好。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏http://www.cnblogs.com

centos7安装部署gitlab服务器

我这里使用的是centos 7 64bit,我试过centos 6也是可以的! 1. 安装依赖软件 yum -y install policycoreutils...

46110
来自专栏张善友的专栏

打造Window Server 2008 R2的工作站

Thinkpad X200 7458 CTO上安装Windows Server 2008 R2,windows Server 2008 R2安装过程非常简单,只...

1818
来自专栏北京马哥教育

手把手教你用jumpserver搭建堡垒机!

? 作者:my_bai 来源: http://blog.csdn.net/my_bai/article/details/62226474 首先,jumps...

5267
来自专栏实用工具入门教程

如何部署邮件服务

邮件服务器是一种应用程序,它使我们能够以电子邮件的形式在组织的不同用户之间或在其外部发送消息,而不依赖于他们所连接的网络。我们将在邮件服务器中使用的基本术语是:...

922
来自专栏张伟博客

linux安装一键安装phpstudy web环境

2257
来自专栏编程

如何建立一个Node.js的应用生产在Ubuntu 14.04

Node.js是一个开源的Javascript运行时环境,可以轻松构建服务器端和网络应用程序。该平台运行在Linux,OS X,FreeBSD和Windows上...

2110
来自专栏XAI

Nginx+Tomcat+Redis负载均衡Session共享实现超级简单(CentOS6.9系统 Java版本)

第一步Nginx+Tomcat 实现负载均衡的测试  相关软件环境 软件名称 版本号 版本说明 Java 1.7 linux版本 Tomcat 8...

35110
来自专栏老安的博客

加速 cinder 删除volume速度

1073
来自专栏软件开发 -- 分享 互助 成长

openfire的配置

Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。...

19510
来自专栏Petrichor的专栏

忘记密码时,如何查看之前Chrome浏览器保存的密码

631

扫码关注云+社区