Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1642245
  • 博文数量: 409
  • 博客积分: 6240
  • 博客等级: 准将
  • 技术积分: 4908
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-01 00:04
文章分类

全部博文(409)

文章存档

2021年(1)

2019年(1)

2017年(1)

2016年(13)

2015年(22)

2013年(4)

2012年(240)

2011年(127)

分类:

2012-01-14 20:12:22

一台服务器上的虚拟机A,安装的ubuntu系统,作为website服务器,配有公网地址,现在需要安装另外一套web演示系统端口8888,又没有公网地址了,因为是IDC服务器,前面也没有路由可以做端口映射,这时候我们就利用虚拟机A来做一个端口转发吧。
首先给虚拟机A再添加一张网卡,为host-only模式,IP地址为172.16.0.1,虚拟机B的网卡也为host-only模式,安装好虚拟机B的系统后配置IP为172.16.0.2,然后相互ping一下,没问题的话这台主机已经互通了。接下来我们先在ubuntu系统上打开转发设置:
  1. echo 1 > /proc/sys/net/ipv4/ip_forward
这样设置重新启动后就失效了,常用办法是把该句写入到 rc.local 脚本中,更高级的办法是编辑 /etc/sysctl 文件激活 net.ipv4.ip_forward = 1 ,然后运行 sysctl -p 立即生效。

然后添加iptables规则:
  1. iptables -t nat -A PREROUTING -d 218.x.x.x -p tcp --dport 8887 -j DNAT --to 172.16.0.2:8887
添加成功后,再在虚拟机B上做一条默认路由,网关指向172.16.0.1,我们就可以通过 218.x.x.x:8888 这个公网IP来访问我们的虚拟机B了。


nat规则:
  1. iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to 192.168.2.148
-t nat 操作nat表
-A POSTROUTING 修改源地址
-s 10.10.10.0/24 指定来源地址
-o eth0 指定出接口
-j SNAT 修改源地址映射
--to 192.168.2.148,修改后的地址

#保存配置:
iptables-save > /etc/iptables
#加载配置(该命令保存与 rc.local 脚本中):
sed -i '/^exit/i\iptables-restore /etc/iptables' /etc/rc.local

阅读(1288) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~