openstack虚拟机作为网关配置

前提条件

  同一个子网中得两个云主机vm1(eth0:192.168.1.2),vm2(eth0:192.168.1.3)
  其中vm1还存在另外一张eth1(192.168.1.4)连接外网得网卡,vm2需要通过vm1来连接上网
vm2配置变更如下
设置vm2得网关为vm1得eth1
-  route add default gw 192.168.1.4 dev eth1  #临时修改
-  在/etc/sysconfig/network中添加如下配置(永久生效):
	NETWORKING=yes
	GATEWAY=192.168.1.4

vm1作为网关设备得配置如下:
1. /etc/sysctl.conf中添加允许地址转发	
   net.ipv4.ip_forward = 1
   net.ipv4.conf.all.rp_filter = 0
   net.ipv4.conf.default.rp_filter = 0
2. 使用sysctl -p 使得上述配置生效
3. 配置iptables规则
   iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE(是正常机器作为nat得配置,eth1作为外网得出口)
4. 因为openstack中防火墙(位于tap和qvb之间)规则要求严格,如果ip/mac不匹配,则会drop掉。
   之前vm1使用了snat(IP伪装),使得eth1出得ip地址为外部地址,和mac地址不匹配,所以会被drop掉。
   为解决这种情况,openstack需启用port-security功能,对网卡设置为allowed-address-pair(允许此port对应得mac支持其他ip)
    neutron port-update  <port-id> --allowed-address-pair ip_address=0.0.0.0/0
5. 如果需要开启dns解析,因为是vm2发送dns消息给vm1,对于vm1来说dns消息是ingress。对于ingress消息,安全组规则都需要添加对应允许规则才能通过
    neutron security-group-rule-create <自定义name> --direction ingress --protocol 17 --remote-ip-prefix 192.168.1.3/32
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据工匠大壮

请狠狠粗暴的爱我!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值