
Ich bin neu bei Xen und versuche herauszufinden, wie ich zwei verschiedene IPs zum selben Gast-VPS hinzufüge.
Zuerst erkläre ich mein Knoten-Setup, einen physischen Server mit 32 GB RAM und 2 Netzwerkkarten. Die erste Netzwerkkarte hat die öffentliche IP 82.XXX.YYY.ZZZ und die zweite Netzwerkkarte ist für ein internes Netzwerk, das mit einem cPanel-Server verbunden ist – private IP 192.168.XXX.YYY.
Soweit ich es bisher getestet habe, konnte ich nur einen VPS erstellen, der entweder das öffentliche oder das private Netzwerk verwendet, aber nicht beides. Wenn ich den VPS entweder mit der öffentlichen oder der privaten IP erstelle, kann ich ihn anpingen und auch eine Verbindung über SSH herstellen.
Wenn ich beispielsweise einen VPS erstelle, der eine IP aus demselben Subnetz wie der Knoten (82.XXX.YYY.ZZZ) verwendet, und dann versuche, eine private IP hinzuzufügen, kann ich die private IP nicht vom internen Netzwerk aus anpingen. Und umgekehrt: Wenn ich einen VPS mit privater IP (192.168.XXX.YYY) erstelle, kann ich eine Verbindung zu ihm herstellen und ihn vom internen Netzwerk aus anpingen. Wenn ich aber eine öffentliche IP hinzufüge, kann ich ihn nicht anpingen oder eine Verbindung zu ihm herstellen.
Ich weiß auch nicht, ob diese Informationen bei diesem Problem helfen, aber ich verwende SolusVM für die VPS-Verwaltung (VPS erstellen, IP-Zuweisung, VPS löschen usw.).
Bitte teilen Sie mir mit, welche weiteren Informationen ich zur Lösung dieses Problems bereitstellen muss.
Antwort1
Bridge-Netzwerk konfigurieren:
Edit /etc/network/interfaces
# vi /etc/network/interfaces
...
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address [ipv4]
netmask [netmask]
network [network]
broadcast [broadcast]
gateway [ipv4gateway]
bridge_ports eth0
bridge_stp on
bridge_maxwait 0
iface br0 inet6 static
address [ipv6]
netmask 64
dns-nameservers [dnsipv6]
gateway [ipv6gatewaay]
autoconf 0
# internal
auto virbr0
iface virbr0 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
pre-up brctl addbr virbr0
Bearbeiten Sie /etc/sysctl.conf.d
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding=1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
Manuelles Hinzufügen von virbr0
# brctl addbr virbr0
# ifconfig virbr0 192.168.0.1 netmask 255.255.255.0 up
Installieren und konfigurieren Sie den DHCP-Server für Domu. Installieren Sie den isc-dhcp-server.
# apt-get install isc-dhcp-server
Bearbeiten Sie /etc/default/isc-dhcp-server
INTERFACES="virbr0"
Edit /etc/dhcp/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.50;
option routers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
}
Starten Sie den DHCP-Server neu
# service isc-dhcp-server restart
Konfigurieren des Xen-Tools zum Erstellen von Domu-Images. Bearbeiten Sie /etc/xen-tools/xen-tools.conf
#Begin by setting the dir = directive to the directory into which the tools are to create the Xen guest image files:
dir = /home/images
#lvm = myvolgroup -> if using LVM (logical volume management)
install-method = debootstrap
debootstrap-cmd = /usr/sbin/debootstrap
size = 4G # Root disk, suffix (G, M, k) required
memory = 512M # Suffix (G, M, k) required
swap = 1G # Suffix (G, M, k) required
fs = ext3 # Default file system for any disk
dist = `jessie` # Default distribution is determined by Dom0's distribution
image = sparse # Specify sparse vs. full disk images (file based images only)
# for static
# gateway = 192.168.1.1
# netmask = 255.255.255.0
# broadcast = 192.168.1.255
dhcp=1
bridge = virbr0
genpass_len = 8
passwd = 1
kernel = /boot/vmlinuz-`uname -r`
initrd = /boot/initrd.img-`uname -r`
pygrub = 1
mirror = http://debian.mirrors.ovh.net/debian
mirror_jessie = http://http.debian.net/debian
ext4_options = noatime,nodiratime,errors=remount-ro
ext3_options = noatime,nodiratime,errors=remount-ro
ext2_options = noatime,nodiratime,errors=remount-ro
xfs_options = defaults
reiserfs_options = defaults
btrfs_options = defaults
output = /etc/xen
extension = .cfg
Erstellen eines Xen-Disk-Image (Loopback-Image) für einen Xen-Gast. Erstellen eines Xen-Gasts mit Hostnamen „Testa“, Disk 10 GB, Swap 1 GB, RAM/Speicher 512 M, DHCP, VCPU 3, Betriebssystem Debiean Jessie:
# xen-create-image --hostname testa --size=10Gb --swap=1024Mb --memory=512Mb --vcpu=3 --dist=jessie
Can't exec "jessie": No such file or directory at /usr/share/perl5/Xen/Tools/Common.pm line 100, <FILE> line 134.
Use of uninitialized value $output in scalar chomp at /usr/share/perl5/Xen/Tools/Common.pm line 101, <FILE> line 134.
Use of uninitialized value $output in concatenation (.) or string at /usr/share/perl5/Xen/Tools/Common.pm line 104, <FILE> line 134.
General Information
--------------------
Hostname : testa
Distribution : jessie
Mirror : http://debian.mirrors.ovh.net/debian
Partitions : swap 1024Mb (swap)
/ 10Gb (ext3)
Image type : sparse
Memory size : 512Mb
Bootloader : pygrub
Networking Information
----------------------
IP Address : DHCP [MAC: 00:16:3E:73:6F:31]
Creating partition image: /home/vmimages/domains/testa/swap.img
Done
Creating swap on /home/vmimages/domains/testa/swap.img
Done
Creating partition image: /home/vmimages/domains/testa/disk.img
Done
Creating ext3 filesystem on /home/vmimages/domains/testa/disk.img
Done
Installation method: debootstrap
Done
Running hooks
Done
No role scripts were specified. Skipping
Creating Xen configuration file
Done
No role scripts were specified. Skipping
Setting up root password
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
All done
Logfile produced at:
/var/log/xen-tools/testa.log
Installation Summary
---------------------
Hostname : testa
Distribution : jessie
MAC Address : 00:16:3E:73:6F:31
IP Address(es) : dynamic
RSA Fingerprint : 21:12:bb:c3:ad:34:67:6f:cd:a1:7d:d3:ef:ae:95:f5
Root Password : N/A
Dieser Vorgang dauert ungefähr 14 Minuten. Führen Sie Xen Guest aus. Um Xen Guest auszuführen
# xl create /etc/xen/testa.cfg -c
Internes Routing zum Internet
# iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -A FORWARD -i virbr0 -o br0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i virbr0 -o br0 -j ACCEPT
Internet to internal in port xxx into 192.168.0.100 port yyy
# iptables -A PREROUTING -t nat -i br0 -p tcp --dport xxx -j DNAT --to 192.168.0.100:yyy
# iptables -A FORWARD -p tcp -d 192.168.0.100 --dport yyy -j ACCEPT
Aktivieren Sie den automatischen Start von domu nach dem Booten. Erstellen Sie einen symbolischen Link im Ordner /etc/xen/auto.
# mkdir /etc/xen/auto
# cd /etc/xen/auto/
# ln -s /etc/xen/testa.cfg
Bearbeiten Sie /etc/xen/testa.cfg
# vi /etc/xen/testa.cfg
on_xend_stop='shutdown'
on_xend_start='start'
Die vollständige Anleitung finden Sie unter:http://www.garasiku.web.id/web/joomla/index.php/debian/80-how-to-install-xen-in-debian-jessie