zoukankan      html  css  js  c++  java
  • 使用iptables 实现openstack的灵活部署

     
    在Openstack应用中,包括官方的各种资料都推荐至少将一个api接口服务器暴露在外的方案,大多数情况这个部署会满足各种需求。
     
    但当网络特别情况的时候,我们可以使用iptables的ip映射或者端口映射来给Openstack增加灵活性.
     
    在我们公司的测试环境中,所有的服务器都部署在机房,而机房是没有无线连接的,当我们给客户演示的时候,需要连接到测试环境,然而会议室只有无线,这种情况就需要一个中间代理将api服务器ip转换为无线网段可以访问的ip.
     
    下面用iptables的ip映射来实现。
     
    api server ip: 100.10.10.52 (eth0)
    
    分配的无线代理ip:
    192.168.0.52 (wlan0)
    100.10.10.1 (eth0)
     
    1. 在api server上配置网关 ,让api server 可以找到代理网关.
    route add default gw 100.10.10.1 
    2. 代理网关配置:
     
    查看当前路由情况:  
    iptables -nvL --line-number -t nat
    
    添加入站路由(无线用户访问192.168.0.52时发生,iptables 理解为目的地址转换):
    iptables -t nat -I PREROUTING -i wlan0 -d 192.168.0.52 -j DNAT --to 100.10.10.52
    
    添加出站路由(api server的数据返回无线用户时发生, iptables 理解为源地址转换)
    iptables -t nat -I POSTROUTING -o wlan0 -s 100.10.10.52 -j SNAT --to 192.168.0.52

    3.测试.测试时一定要在代理服务器之外测试,因为如果直接在代理服务上测试,数据没有通wlan0 网卡,不会触发iptables nat,通过 cat /proc/net/ip_conntrack 可以看到数据流跟踪信息。

     
    4.测试通过后,在无线用户使用时,将相关的api地址改为192.168.0.52即可。例如。无线用户需要访问vnc
     
    sed -i "s/100.10.10.52:6080/192.168.0.52:6080/g" /etc/nova/nova.conf
    service nova-compute restart

     5. 以上的部署场景可以引申到复杂环境的其它部署中去。

     6.设置iptables 完成后,需要保存,否则重启后会配置会丢失
    保存到文件
    iptables-save > /etc/network/iptables 
    
    启动时自动从文件恢复
    vi /etc/rc.local
    iptables-restore /etc/network/iptables
    本文为原创内容,转载请注明出自 梁小白博客(http://biangbiang.cnblogs.com)
  • 相关阅读:
    自定义图标集
    微软Power BI 每月功能更新系列——Power BI 9月版本功能更新全面解读
    使用Power BI中的假设参数控制表视觉中要显示的行数
    如何使用Power Query自动存储最近2年的数据
    vscode-常用快捷键
    微信小程序开发-入门到熟练(wepy-初级篇)
    vscode-函数注释插件-正则插件
    vscode 编写Markdown文件
    wepy-开发总结(功能点)
    常用git命令
  • 原文地址:https://www.cnblogs.com/biangbiang/p/3081184.html
Copyright © 2011-2022 走看看