静看光阴荏苒
不管不顾不问不说也不念

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):

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

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

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

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

xe network-list

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

执行如下命令:

ip a

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

执行如下命令:

ifconfig

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

在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后面加上你的接口名就行:

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

systemctl daemon-reload
systemctl restart dhcpd
systemctl enable dhcpd

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

注:

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

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

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

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

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

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

现在小鸡内是有网络的了,如果我们需要暴露小鸡内的服务给外部,使用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生出来的小鸡“优化”性能。。。

赞(0)
未经允许不得转载:荒岛 » XCP-ng:开NAT小鸡的网络配置
分享到: 更多 (0)

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    高产似母猪

    logo4年前 (2020-05-12) Google Chrome 81.0.4044.138 Google Chrome 81.0.4044.138 Android 10 Android 10回复

分享创造快乐

广告合作资源投稿