virt-install
CentOS 7 호스트에는 CentOS 7 게스트 운영 체제를 설치하는 데 파일이 필요합니다 kickstart
. 그러면 호스트와 게스트 모두 ssh
별도의 공용 고정 IP 주소를 사용하여 인터넷에서 액세스할 수 있어야 합니다.
ssh
고정 공용 IP 주소를 통해 게스트와 호스트에 액세스하려면 어떤 특정 명령과 구성을 입력해야 합니까 ?
제가 이해한 바에 따르면 설정은 다음 단계로 구성됩니다.
1.) 기본 NAT를 대체하도록 호스트에 브리지 네트워크를 구성합니다.
2.) 게스트에 정적 네트워크를 구성합니다.
그런데 이건 어떻게 설정해야 할까요?virbr0
아래와 같이 새로운 것으로 교체할까요 , br0
아니면 그냥 수정할까요 virbr0
?
이 설정에는 다음과 같은 공용 고정 IP 주소가 있습니다(보안상의 이유로 여기에서는 숨겨짐/익명).
host: 12.34.567.8aa
guest: 12.34.567.8cc
network gateway: 12.34.567.8bb
현재 오류:
아래 설명된 방법을 사용하면 설치 중 터미널 출력에 이 네트워크 연결 문제와 관련된 다음 줄이 포함됩니다.
[ 4.555887] 8021q: adding VLAN 0 to HW filter on device eth0
[ 4.447513] dracut-initqueue[588]: RTNETLINK answers: Network is unreachable
......................
[ 8.096306] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
호스트 구성을 먼저 시도합니다.
완벽하게 작동하는 호스트의 공용 네트워크는 다음 명령으로 설정됩니다.
nmcli con mod eno1 ipv4.addresses 12.34.567.8aa/29
nmcli con mod eno1 ipv4.gateway 12.34.567.8bb
nmcli con mod eno1 ipv4.dns "xx.xx.xx.xx xx.xx.yy.yy"
nmcli con mod eno1 ipv4.method manual
nmcli con mod eno1 connection.autoconnect yes
그런 다음 다음 명령을 사용하여 호스트 브리지를 설정합니다(아직 작동하지 않음).
nmcli con add type bridge con-name br0 ifname br0 autoconnect yes
nmcli con add type ethernet con-name br0-slave-1 ifname eno1 master br0 autoconnect yes
nmcli con add type ethernet con-name br0-slave-2 ifname eth0 master br0 autoconnect yes
nmcli con modify br0 bridge.stp no
nmcli connection modify br0 ipv4.addresses 12.34.567.8aa/29 ipv4.method manual ipv4.gateway 12.34.567.8bb ipv4.dns xx.xx.xx.xx,xx.xx.yy.yy
nmcli con up br0
brctl show br0
이전 명령은 GUEST에는 정의되어 있지만 HOST에는 정의 되어 있지 않기 eth0
때문에 두 가지를 모두 노예화하려고 시도합니다. 이 이름의 가시 범위가 무엇인지 명확하지 않으므로 여기서는 둘 다 시도했지만 성공하지 못했습니다. eno
eth0
eno1
방문자 생성 방법:
방문자가 생성되는 구체적인 방법은 다음과 같습니다.
HOST의 킥스타트 파일은 다음과 같습니다.
[root@remote-host ~]# vi /tmp/vm.ks
install
lang en_US.UTF-8
keyboard us
timezone SomeContinent/SomeCity
auth --enableshadow --passalgo=sha512
services --enabled=NetworkManager,sshd
eula --agreed
reboot
network --bootproto=static --ip=12.34.567.8cc --netmask=255.255.255.248 --gateway=12.34.567.8bb --nameserver=xx.xx.xx.xx,xx.xx.yy.yy --device=eth0
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part swap --asprimary --fstype="swap" --size=1024
part /boot --fstype xfs --size=200
part pv.01 --size=1 --grow
volgroup rootvg01 pv.01
logvol / --fstype xfs --name=lv01 --vgname=rootvg01 --size=1 --grow
# Root password
rootpw --iscrypted $someLongHashedPassword
repo --name="CentOS" --baseurl="http://mirror.centos.org/centos/7/os/x86_64/"
%packages
@core
%end
~
"/tmp/vm.ks" 30L, 1002C
virt-install
호스트에서 실행하는 명령은 다음과 같습니다.
[root@remote-host ~]# virt-install --name=public-centos7 --disk path=/home/disk_test.img,size=100 --graphics none
--vcpus=1 --memory=2048 --location /tmp/CentOS-7-x86_64-Minimal-1611.iso --network bridge=br0
--os-type=linux --os-variant=rhel7.0 --initrd-inject=/tmp/vm.ks --extra-args "ks=file:/vm.ks console=ttyS0"
호스트 구성 정보:
호스트 시스템의 nmcli
세부정보는 다음과 같습니다.
[root@remote-host ~]# nmcli con show
NAME UUID TYPE DEVICE
br0 very-long-string bridge br0
eno1 very-long-string 802-3-ethernet eno1
virbr0 very-long-string bridge virbr0
vnet0 very-long-string tun vnet0
br0-slave-1 very-long-string 802-3-ethernet --
br0-slave-2 very-long-string 802-3-ethernet --
[root@remote-host ~]# nmcli con show br0
connection.id: br0
connection.uuid: very-long-string
connection.interface-name: br0
connection.type: bridge
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.timestamp: 1490056018
connection.read-only: no
connection.autoconnect-slaves: -1 (default)
connection.gateway-ping-timeout: 0
connection.lldp: -1 (default)
ipv4.method: manual
ipv4.dns: xx.xx.xx.xx,xx.xx.yy.yy
ipv4.dns-options: (default)
ipv4.dns-priority: 0
ipv4.addresses: 12.34.567.8aa/29
ipv4.gateway: 12.34.567.8bb
ipv4.routes:
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-timeout: 0
ipv4.dhcp-send-hostname: yes
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.dad-timeout: -1 (default)
........skipping ipv6 stuff
bridge.stp: no
bridge.priority: 32758
bridge.forward-delay: 15
bridge.hello-time: 2
bridge.max-age: 20
bridge.ageing-time: 300
bridge.multicast-snooping: yes
GENERAL.NAME: br0
GENERAL.UUID: very-long-string
GENERAL.DEVICES: br0
GENERAL.STATE: activated
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/40
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/38
GENERAL.SPEC-OBJECT: /
GENERAL.MASTER-PATH: --
IP4.ADDRESS[1]: 12.34.567.8aa/29
IP4.GATEWAY: 12.34.567.8bb
IP4.DNS[1]: xx.xx.xx.xx
IP4.DNS[2]: xx.xx.yy.yy
.....skipping ipv6 stuff
[root@remote-host ~]# nmcli con show virbr0
connection.id: virbr0
connection.uuid: very-long-string
connection.stable-id: --
connection.interface-name: virbr0
connection.type: bridge
connection.autoconnect: no
connection.autoconnect-priority: 0
connection.timestamp: 1490056018
connection.read-only: no
connection.autoconnect-slaves: -1 (default)
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: -1 (default)
ipv4.method: manual
ipv4.dns-options: (default)
ipv4.dns-priority: 100
ipv4.addresses: 192.168.122.1/24 (purposely NOT obscured because this IP is private and auto-generated)
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-timeout: 0
ipv4.dhcp-send-hostname: yes
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.dad-timeout: -1 (default)
.............skipping ipv6 stuff
bridge.stp: yes
bridge.priority: 32xx8
bridge.forward-delay: 2
bridge.hello-time: 2
bridge.max-age: 20
bridge.ageing-time: 300
bridge.multicast-snooping: yes
GENERAL.NAME: virbr0
GENERAL.UUID: very-long-string
GENERAL.DEVICES: virbr0
GENERAL.STATE: activated
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/1
GENERAL.SPEC-OBJECT: /
IP4.ADDRESS[1]: 192.168.122.1/24 (purposely NOT obscured because this IP is private and auto-generated)
[root@remote-host ~]# nmcli con show eno1
connection.id: eno1
connection.uuid: very-long-string
connection.interface-name: eno1
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.timestamp: 1490056018
connection.read-only: no
connection.autoconnect-slaves: -1 (default)
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: -1 (default)
802-3-ethernet.speed: 0
802-3-ethernet.auto-negotiate: yes
802-3-ethernet.mtu: auto
802-3-ethernet.wake-on-lan: 1 (default)
ipv4.method: manual
ipv4.dns: xx.xx.xx.xx,xx.xx.yy.yy
ipv4.dns-options: (default)
ipv4.dns-priority: 0
ipv4.addresses: 12.34.567.8aa/29
ipv4.gateway: 12.34.567.8bb
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-timeout: 0
ipv4.dhcp-send-hostname: yes
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.dad-timeout: -1 (default)
..........skipping ipv6 stuff
GENERAL.NAME: eno1
GENERAL.UUID: very-long-string
GENERAL.DEVICES: eno1
GENERAL.STATE: activated
GENERAL.DEFAULT: yes
GENERAL.DEFAULT6: yes
GENERAL.VPN: no
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/0
GENERAL.SPEC-OBJECT: /
IP4.ADDRESS[1]: 12.34.567.8aa/29
IP4.GATEWAY: 12.34.567.8bb
IP4.DNS[1]: xx.xx.xx.xx
IP4.DNS[2]: xx.xx.yy.yy
..........skipping ipv6 stuff
[root@remote-host ~]# nmcli con show br0-slave-1
connection.id: br0-slave-1
connection.uuid: very-long-string
connection.interface-name: eno1
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.read-only: no
connection.master: br0
connection.slave-type: bridge
connection.autoconnect-slaves: -1 (default)
connection.gateway-ping-timeout: 0
connection.lldp: -1 (default)
802-3-ethernet.speed: 0
802-3-ethernet.auto-negotiate: yes
802-3-ethernet.mtu: auto
802-3-ethernet.wake-on-lan: 1 (default)
bridge-port.priority: 32
bridge-port.path-cost: 100
bridge-port.hairpin-mode: no
[root@remote-host ~]# nmcli con show br0-slave-2
connection.id: br0-slave-2
connection.uuid: very-long-string
connection.interface-name: eth0
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.read-only: no
connection.master: br0
connection.slave-type: bridge
connection.autoconnect-slaves: -1 (default)
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: -1 (default)
802-3-ethernet.speed: 0
802-3-ethernet.auto-negotiate: yes
802-3-ethernet.mtu: auto
802-3-ethernet.wake-on-lan: 1 (default)
bridge-port.priority: 32
bridge-port.path-cost: 100
bridge-port.hairpin-mode: no
GUEST는 고정 공용 IP를 알고 있지만 종료할 수 없습니다.
다음은 GUEST 내에서 명령을 실행한 결과입니다 ping
. curl
보시다시피 두 프로그램이 모두 실행 중이지만 어느 쪽도 가상 머신을 떠나 외부 세계에 연결할 수 없습니다.
[root@localhost ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 12.34.567.8cc icmp_seq=1 Destination Host Unreachable
From 12.34.567.8cc icmp_seq=2 Destination Host Unreachable
From 12.34.567.8cc icmp_seq=3 Destination Host Unreachable
..........
--- 8.8.8.8 ping statistics ---
14 packets transmitted, 0 received, +13 errors, 100% packet loss, time 13004ms
pipe 4
[root@localhost ~]# curl ipinfo.io/ip
curl: (6) Could not resolve host: ipinfo.io; Unknown error
게스트 내부 구성:
GUEST 내에서 액세스하면 자동으로 생성되는 ifcfg-eth0
파일은 다음과 같습니다.
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
NAME="eth0"
HWADDR="11:22:33:44:55:66"
ONBOOT=yes
NETBOOT=yes
UUID="some-very-long-complex-string"
IPV6INIT=yes
BOOTPROTO=none
IPADDR="12.34.567.8cc"
NETMASK="255.255.255.248"
GATEWAY="12.34.567.8bb"
TYPE=Ethernet
DNS1="xx.xx.xx.xx,xx.xx.yy.yy"
~
"/etc/sysconfig/network-scripts/ifcfg-eth0" 13L, 281C
nmcli
GUEST에서 명령을 실행한 결과는 다음과 같습니다 .
[root@localhost ~]# nmcli con show
NAME UUID TYPE DEVICE
eth0 very-long-string 802-3-ethernet eth0
[root@localhost ~]# nmcli con show eth0
connection.id: eth0
connection.uuid: very-long-string
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.timestamp: 1490079856
connection.read-only: no
connection.autoconnect-slaves: -1 (default)
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: -1 (default)
802-3-ethernet.speed: 0
802-3-ethernet.auto-negotiate: yes
802-3-ethernet.mac-address: qq:ww:ee:rr:tt:yy (not really qwerty)
802-3-ethernet.mtu: auto
802-3-ethernet.wake-on-lan: 1 (default)
ipv4.method: manual
ipv4.dns: xx.xx.xx.xx,xx.xx.yy.yy
ipv4.dns-options: (default)
ipv4.dns-priority: 0
ipv4.addresses: 12.34.567.8cc/29
ipv4.gateway: 12.34.567.8bb
ipv4.route-metric: -1
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-timeout: 0
ipv4.dhcp-send-hostname: yes
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.dad-timeout: -1 (default)
.........skipping ipv6 stuff
GENERAL.NAME: eth0
GENERAL.UUID: very-long-string
GENERAL.DEVICES: eth0
GENERAL.STATE: activated
GENERAL.DEFAULT: yes
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/0
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/0
GENERAL.SPEC-OBJECT: /
IP4.ADDRESS[1]: 12.34.567.8cc/29
IP4.GATEWAY: 12.34.567.8bb
IP4.DNS[1]: xx.xx.xx.xx
IP4.DNS[2]: xx.xx.yy.yy
......skipping ipv6 stuff
[root@localhost ~]#
@garethTheRed의 제안:
@garethTheRed의 4개 명령을 입력 하고 명령을 nmcli
다시 실행하여 새 가상 머신을 생성한 후 호스트의 방화벽 설정은 이제 다음과 같습니다. virt-install
--network bridge=br1
[root@remote-host ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: br0 br1 eno1
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
sourceports:
icmp-blocks:
rich rules:
[root@remote-host ~]#
그런 다음 GUEST에서 방화벽은 다음과 같이 설정됩니다.
[root@localhost ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
sourceports:
icmp-blocks:
rich rules:
[root@localhost ~]#
마찬가지로 다음 결과는 HOST의 라우팅이 열려 있음을 나타내는 것 같습니다.
[root@remote-host ~]# /sbin/sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
[root@remote-host ~]#
그리고 다음 결과는 GUEST의 경로가 다운되었음을 나타내는 것 같습니다.
[root@localhost ~]# /sbin/sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
[root@localhost ~]#
ip addr show
HOST에 다음을 제공하십시오.
[root@remote-host ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
inet 12.34.567.8aa/29 brd 12.34.567.8(bb+1) scope global eno1
valid_lft forever preferred_lft forever
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
41: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
inet 12.34.567.8aa/29 brd 12.34.567.8(bb+1) scope global br0
valid_lft forever preferred_lft forever
50: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
inet 12.34.567.8cc/29 brd 12.34.567.8(bb+1) scope global br1
valid_lft forever preferred_lft forever
51: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UNKNOWN qlen 1000
link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
inet6 ipv6:doesnt:matter:to:me/64 scope link
valid_lft forever preferred_lft forever
[root@remote-host ~]#
확인해보니 eno1
IP br0
주소가 똑같네요. 이는 IP가 안전하게 제거될 수 eno1
있고 외부 세계가 여전히 기계와 동일한 IP 주소를 통해 통신할 수 있다는 것을 의미합니까 br0
? 나는 이것이 어떻게 작동하는지 아직도 배우고 있습니다.
GUEST에서는 ip addr show
다음이 주어집니다.
[root@localhost ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether mm:mm:mm:mm:mm:mm brd mm:mm:mm:mm:mm:mm
inet 12.34.567.8cc/29 brd 12.34.567.8(bb+1) scope global eth0
valid_lft forever preferred_lft forever
[root@localhost ~]#
나는 모든 것에 nmcli
및 를 사용하는 것을 선호하지만 아래와 같이 진단 정보를 아래에 포함했습니다 NetworkManager
. virsh
호스트는 기본 네트워크만 볼 수 있습니다.
다음 프로그램은 모두 HOST에서 실행됩니다.
[root@remote-host ~]# virsh net-list --all
Name State Autostart Persistent
----------------------------------------------------------
default active yes yes
[root@remote-host ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000000000000 no
br1 8000.oneLongID... yes vnet0
virbr0 8000.secondLongID yes virbr0-nic
[root@remote-host ~]# virsh edit public-centos7
....skipping irrelevant stuff for brevity
<controller type='virtio-serial' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</controller>
<interface type='bridge'>
<mac address='qq:ww:ee:rr:tt:yy'/>
<source bridge='br1'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
.....skipping irrelevant stuff
<channel type='unix'>
<target type='virtio' name='org.qemu.guest_agent.0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
....skipping irrelevant stuff
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</memballoon>
</devices>
</domain>
[root@remote-host ~]# virsh net-dumpxml default
<network>
<name>default</name>
<uuid>some-very-long-complex-string</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='aa:nn:oo:tt:hh:er'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
그런 다음 다음 명령을 사용하여 호스트에 두 번째 네트워크를 만들었습니다.
vi /root/test-bridge.xml
<network>
<name>test-bridge</name>
<forward mode="bridge"/>
<bridge name="br1"/>
</network>
virsh net-create /root/test-bridge.xml
새로 생성한 후 test-bridge
,외부 세계는 이제 성공할 수 있습니다 ping 12.34.567.8cc
. 하지만 GUEST는 여전히 외부 세계로부터 응답을 받을 수 없습니다 ping 8.8.8.8
.
GUEST에서 경로가 정의되어 있는지 확인했고 결과는 다음과 같습니다.
[root@localhost ~]# ip route
default via 12.34.567.8bb dev eth0 proto static metric 100
12.34.567.8mm/29 dev eth0 proto kernel scope link src 12.34.567.8cc metric 100
12.34.567.8bb
물리적 라우터의 올바른 게이트웨이는 어디에 있고, 12.34.567.8cc
게스트에 대한 올바른/의도된 고정 공용 IP는 어디에 있으며, 12.34.567.8mm
우리에게 할당된 고정 공용 IP 주소 중 하나가 아닙니다. 그러나 12.34.567.8mm
같음은 12.34.567.(8aa-1)
아마도 5개의 공용 IP 주소 중 하나에서 프로그래밍 방식으로 파생되었음을 의미합니다.
virsh
게스트의 인터페이스와 IP를 표시하도록 호스트에 요청 하면 virsh
다음과 같이 인터페이스는 표시할 수 있지만 IP는 표시할 수 없습니다.
[root@remote-host ~]# virsh domiflist public-centos7
Interface Type Source Model MAC
-------------------------------------------------------
vnet0 bridge br1 virtio 11:22:33:44:55:66
[root@remote-host ~]# virsh domifaddr public-centos7
Name MAC address Protocol Address
------------------------------------------------------
[root@remote-host ~]#
firewall --disabled
kickstart 파일에 및를 추가한 selinux --disabled
후 동일한 명령으로 다시 설치하면 새로 생성된 가상 머신 내부에서 외부 세계에 성공적으로 연결할 virt-install
수 없습니다 .ping 8.8.8.8
또 무엇을 시도해야 합니까?
답변1
물리적 인터페이스가 아닌 브리지에 네트워크 설정을 추가하는 것이 일반적입니다.
여기에서 IP 세부 정보를 제거합니다 eno1
(먼저 필요한 경우 복원 방법을 알고 있는지 확인하세요).
그런 다음 다음을 시도해 보세요.
nmcli connection add type bridge autoconnect yes con-name br1 ifname br1
nmcli connection modify br1 ipv4.addresses aa.bb.cc.dd/29 ipv4.method manual
nmcli connection modify br1 ipv4.gateway aa.bb.cc.ee
nmcli connection modify br1 ipv4.dns xx.xx.xx.xx
여기서 aa.bb.cc.dd
Medium은 IP 설정입니다 eno1
.
br_netfilter
호스트 머신에서 모듈을 로드해야 합니다 :
modprobe br_netfilter
그런 다음 /etc/sysctl.d/bridge.conf
다음 명령을 사용하여 생성합니다.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
설정을 로드합니다.
sysctl -p /etc/sysctl.d/bridge.conf
마지막으로 virt-install
실행--net bridge=br1
게스트와 IP 주소를 제공하고 다음 호스트에 ping을 시도합니다.
호스트에서 방화벽을 설정하고 라우팅을 활성화해야 할 수도 있다는 점을 명심하세요.