跳转到内容
登录关注  
洛汐

XCP-ng:开NAT小鸡的网络配置

已推荐帖子

前两篇文章介绍了XCP-ng的基础配置和使用方法,开设的小鸡是独立的IP,如果没有多IP的服务器就需要用到NAT了。

这篇文章介绍XCP-ng的NAT网络配置。首先登录到XCP-ng的SSH,开启IPv4转发:

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p

验证是否开启成功,回显1说明OK:

cat /proc/sys/net/ipv4/ip_forward

启用xenbr0接口的伪装:

iptables -t nat -A POSTROUTING -o xenbr0 -j MASQUERADE

XCP-ng默认有一条转发链的规则,给它删掉,否则会影响小鸡的网络:

iptables -D FORWARD -j RH-Firewall-1-INPUT

注:这些iptables规则没有永久生效,重启后会还原。

打开XenOrchestra面板,新建-网络(接口选择你的主网卡名,例如我是eth0):

lala.im_2020-05-12_15-19-01.png

打开Hosts-网络,可以看到刚新建的网络,把mode改为static:

lala.im_2020-05-12_15-21-25.png

然后点左边的铅笔按钮配置静态地址,这里随便用一个内网的IP地址就可以,我用的是192.168.0.1(网关地址留空):

lala.im_2020-05-12_15-22-28.png

在设置-IPs添加IP地址块,这步的作用是后续让小鸡只允许使用地址块内的某一个或几个IP,防止IP冲突或是被冒充盗用:

lala.im_2020-05-12_15-26-34.png

回到XCP-ng的SSH查看刚才的配置是否正常:

xe network-list

如果正常你应该可以看到一个桥接在xapi(x)接口的新网络:

lala.im_2020-05-12_15-30-49.png

执行如下命令:

ip a

应该能看到xapi0具有192.168.0.1的IP地址:

lala.im_2020-05-12_15-34-05.png

执行如下命令:

ifconfig

应该也可以看到这个新的接口具有192.168.0.1的IP地址:

lala.im_2020-05-12_15-34-52.png

在XCP-ng上安装DHCP服务,实现小鸡自动配置网络(可选:)

yum -y install dhcp

编辑dhcpd.conf:

nano /etc/dhcp/dhcpd.conf

写入如下配置:

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.2 192.168.0.254;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option routers 192.168.0.1;
  default-lease-time 3200;
  max-lease-time 7200;
}

编辑systemd服务文件:

nano /usr/lib/systemd/system/dhcpd.service

让它只监听刚才新建的xapi0接口:

[Unit]
Description=DHCPv4 Server Daemon
Documentation=man:dhcpd(8) man:dhcpd.conf(5)
Wants=network-online.target
After=network-online.target
After=time-sync.target

[Service]
Type=notify
ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid xapi0

[Install]
WantedBy=multi-user.target

如图所示,只需要在ExecStart后面加上你的接口名就行:

lala.im_2020-05-12_15-38-32.png

使修改生效/重启DHCF服务/设置开机自启:

systemctl daemon-reload
systemctl restart dhcpd
systemctl enable dhcpd

现在我们就可以回到XenOrchestra开一台小鸡试试看了:

lala.im_2020-05-12_15-43-56.png

注:

如果使用DHCP自动分配IP地址,在上面的这个新建小鸡界面不要选择指定IP,留空即可。

因为DHCP分配的IP地址是随机的,你在这个界面如果指定了IP那么后续DHCP如果分配的不是你指定的这个IP小鸡是没有网络的。

这其实是XCP-ng的一个功能,也就是之前配置的防止IP冲突的作用。

你可以在小鸡安装完成之后,查看DHCP分配给小鸡的IP,然后在小鸡的网络界面设置成一样的IP:

lala.im_2020-05-12_15-50-54.png

这样这台小鸡就只能用你指定的这个IP了,小鸡的使用者如果擅自修改小鸡内的IP,无论修改成哪一个都是没有网的。

简单测试一下小鸡的网络:

lala.im_2020-05-12_15-53-54.png

现在小鸡内是有网络的了,如果我们需要暴露小鸡内的服务给外部,使用DNAT即可,例如我现在要把这台小鸡的SSH服务暴露给外网,那么在XCP-ng上执行:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 23334 -j DNAT --to-destination 192.168.0.4:22

现在访问XCP-ng的公网IP:23334端口相当于访问了192.168.0.4:22。

这篇文章差不多就是这样了,后续再水一篇介绍下如何给XCP-ng生出来的小鸡“优化”性能。。。

查看完整帖子

分享这篇帖子


链接帖子

参与讨论

你现在可以发表并稍后注册。 如果你有帐户,现在就登录参与讨论。

游客
回复主题...

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   你的链接已自动嵌入.   显示为链接来代替

×   你之前的内容已恢复.   清除编辑器

×   你无法直接粘贴图片。要从网址上传或插入图片。

登录关注  

×
×
  • 创建新的...