{"id":758,"date":"2019-02-22T14:38:11","date_gmt":"2019-02-22T11:38:11","guid":{"rendered":"https:\/\/artem.services\/?p=758"},"modified":"2019-02-22T18:05:42","modified_gmt":"2019-02-22T15:05:42","slug":"virsh-macos-mojave","status":"publish","type":"post","link":"https:\/\/artem.services\/?p=758","title":{"rendered":"Virsh &#8212; MacOS Mojave"},"content":{"rendered":"<h4>1. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430<\/h4>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\napt install iptables-persistent apparmor-utils ovmf\r\n<\/pre>\n<p>\u041e\u0442\u043a\u0440\u043e\u0435\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 <strong>QEMU<\/strong>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvim \/etc\/libvirt\/qemu.conf\r\n<\/pre>\n<p>\u0418 \u0434\u043e\u0431\u0430\u0432\u0438\u043c\/\u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsecurity_driver = &quot;apparmor&quot;\r\n<\/pre>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0441\u0435\u0440\u0432\u0438\u0441 <strong>libvirt<\/strong>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsystemctl restart libvirt-bin\r\nsystemctl restart libvirtd\r\n<\/pre>\n<p><!--more--><\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c <strong>XML<\/strong> \u0444\u0430\u0439\u043b \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043d\u0430\u0448\u0435\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvim macos-mojave.xml\r\n<\/pre>\n<p>\u0421\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;domain type='kvm' xmlns:qemu='http:\/\/libvirt.org\/schemas\/domain\/qemu\/1.0'&gt;\r\n  &lt;name&gt;macos-mojave&lt;\/name&gt;\r\n  &lt;uuid&gt;2aca0dd6-cec9-4717-9ab2-0b7b13d111c3&lt;\/uuid&gt;\r\n  &lt;title&gt;MacOS-Mojave&lt;\/title&gt;\r\n  &lt;memory unit='KiB'&gt;8192000&lt;\/memory&gt;\r\n  &lt;currentMemory unit='KiB'&gt;8192000&lt;\/currentMemory&gt;\r\n  &lt;vcpu placement='static'&gt;4&lt;\/vcpu&gt;\r\n  &lt;os&gt;\r\n    &lt;type arch='x86_64' machine='pc-q35-2.11'&gt;hvm&lt;\/type&gt;\r\n    &lt;loader readonly='yes' type='pflash'&gt;\/var\/lib\/kvm\/vm_images\/macos-mojave\/OVMF_CODE.fd&lt;\/loader&gt;\r\n    &lt;nvram&gt;\/var\/lib\/kvm\/vm_images\/macos-mojave\/OVMF_VARS-1024x768.fd&lt;\/nvram&gt;\r\n  &lt;\/os&gt;\r\n  &lt;features&gt;\r\n    &lt;acpi\/&gt;\r\n    &lt;kvm&gt;\r\n      &lt;hidden state='on'\/&gt;\r\n    &lt;\/kvm&gt;\r\n  &lt;\/features&gt;\r\n  &lt;clock offset='utc'\/&gt;\r\n  &lt;on_poweroff&gt;destroy&lt;\/on_poweroff&gt;\r\n  &lt;on_reboot&gt;restart&lt;\/on_reboot&gt;\r\n  &lt;on_crash&gt;restart&lt;\/on_crash&gt;\r\n  &lt;devices&gt;\r\n    &lt;emulator&gt;\/usr\/bin\/qemu-system-x86_64&lt;\/emulator&gt;\r\n    &lt;disk type='file' device='disk'&gt;\r\n      &lt;driver name='qemu' type='qcow2' cache='writeback'\/&gt;\r\n      &lt;source file='\/var\/lib\/kvm\/vm_images\/macos-mojave\/mac_hdd.img'\/&gt;\r\n      &lt;target dev='sda' bus='sata'\/&gt;\r\n      &lt;boot order='1'\/&gt;\r\n      \r\n\r\n&lt;address type='drive' controller='0' bus='0' target='0' unit='0'\/&gt;\r\n    &lt;\/disk&gt;\r\n    &lt;controller type='sata' index='0'&gt;\r\n      \r\n\r\n&lt;address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'\/&gt;\r\n    &lt;\/controller&gt;\r\n    &lt;controller type='pci' index='0' model='pcie-root'\/&gt;\r\n    &lt;controller type='pci' index='1' model='dmi-to-pci-bridge'&gt;\r\n      &lt;model name='i82801b11-bridge'\/&gt;\r\n      \r\n\r\n&lt;address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'\/&gt;\r\n    &lt;\/controller&gt;\r\n    &lt;controller type='pci' index='2' model='pci-bridge'&gt;\r\n      &lt;model name='pci-bridge'\/&gt;\r\n      &lt;target chassisNr='2'\/&gt;\r\n      \r\n\r\n&lt;address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'\/&gt;\r\n    &lt;\/controller&gt;\r\n    &lt;controller type='usb' index='0' model='ich9-ehci1'&gt;\r\n      \r\n\r\n&lt;address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x7'\/&gt;\r\n    &lt;\/controller&gt;\r\n    &lt;controller type='usb' index='0' model='ich9-uhci1'&gt;\r\n      &lt;master startport='0'\/&gt;\r\n      \r\n\r\n&lt;address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x0' multifunction='on'\/&gt;\r\n    &lt;\/controller&gt;\r\n    &lt;controller type='usb' index='0' model='ich9-uhci2'&gt;\r\n      &lt;master startport='2'\/&gt;\r\n      \r\n\r\n&lt;address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x1'\/&gt;\r\n    &lt;\/controller&gt;\r\n    &lt;controller type='usb' index='0' model='ich9-uhci3'&gt;\r\n      &lt;master startport='4'\/&gt;\r\n      \r\n\r\n&lt;address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x2'\/&gt;\r\n    &lt;\/controller&gt;\r\n    &lt;interface type='bridge'&gt;\r\n      &lt;mac address='52:54:00:AB:DF:0A'\/&gt;\r\n      &lt;source bridge='virbr0'\/&gt;\r\n      &lt;target dev='tap1'\/&gt;\r\n      &lt;model type='e1000-82545em'\/&gt;\r\n      \r\n\r\n&lt;address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'\/&gt;\r\n    &lt;\/interface&gt;\r\n    &lt;input type='keyboard' bus='usb'&gt;\r\n      \r\n\r\n&lt;address type='usb' bus='0' port='2'\/&gt;\r\n    &lt;\/input&gt;\r\n    &lt;input type='mouse' bus='ps2'\/&gt;\r\n    &lt;input type='tablet' bus='usb'&gt;\r\n      \r\n\r\n&lt;address type='usb' bus='0' port='3'\/&gt;\r\n    &lt;\/input&gt;\r\n    &lt;input type='keyboard' bus='ps2'\/&gt;\r\n    &lt;graphics type='vnc' port='5901' autoport='no' listen='0.0.0.0' keymap='en-us'&gt;\r\n      &lt;listen type='address' address='0.0.0.0'\/&gt;\r\n    &lt;\/graphics&gt;\r\n    &lt;sound model='ich9'&gt;\r\n      \r\n\r\n&lt;address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'\/&gt;\r\n    &lt;\/sound&gt;\r\n    &lt;video&gt;\r\n      &lt;model type='vga'\/&gt;\r\n    &lt;\/video&gt;\r\n    &lt;redirdev bus='usb' type='spicevmc'&gt;\r\n      \r\n\r\n&lt;address type='usb' bus='0' port='5'\/&gt;\r\n    &lt;\/redirdev&gt;\r\n    &lt;hub type='usb'&gt;\r\n      \r\n\r\n&lt;address type='usb' bus='0' port='1'\/&gt;\r\n    &lt;\/hub&gt;\r\n    &lt;memballoon model='none'\/&gt;\r\n  &lt;\/devices&gt;\r\n  &lt;qemu:commandline&gt;\r\n    &lt;qemu:arg value='-device'\/&gt;\r\n    &lt;qemu:arg value='isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc'\/&gt;\r\n    &lt;qemu:arg value='-smbios'\/&gt;\r\n    &lt;qemu:arg value='type=2'\/&gt;\r\n    &lt;qemu:arg value='-cpu'\/&gt;\r\n    &lt;qemu:arg value='Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check'\/&gt;\r\n  &lt;\/qemu:commandline&gt;\r\n&lt;\/domain&gt;\r\n<\/pre>\n<p>\u041c\u044b \u043e\u043f\u0438\u0441\u0430\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u0441 \u0438\u043c\u0435\u043d\u0435\u043c &quot;<strong>macos-mojave<\/strong>&quot;, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 <strong>4 \u044f\u0434\u0440\u0430<\/strong> \u0438 <strong>8 \u0413\u0431 \u041e\u0417\u0423<\/strong>, \u0441\u0435\u0442\u0435\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430 \u0432 <strong>NAT<\/strong> \u0440\u0435\u0436\u0438\u043c\u0435 (\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 <strong>tap1<\/strong>), \u0430 \u0442\u0430\u043a \u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e <strong>VNC<\/strong> \u043f\u043e \u043f\u043e\u0440\u0442\u0443 <strong>5901<\/strong>.<\/p>\n<blockquote><p>\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u0443\u0442\u0438 \u043a \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044e \u043e\u0431\u0440\u0430\u0437\u0430 \u0434\u0438\u0441\u043a\u0430 \u0438 <strong>OVMF<\/strong> \u0444\u0430\u0439\u043b\u043e\u0432.<\/p><\/blockquote>\n<p><strong>MAC<\/strong> \u0430\u0434\u0440\u0435\u0441 \u0438 <strong>UUID<\/strong> \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438.<\/p>\n<p>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f <strong>UUID<\/strong>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nuuidgen\r\n<\/pre>\n<p>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f <strong>MAC<\/strong> \u0430\u0434\u0440\u0435\u0441\u0430:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nprintf '52:54:00:AB:%02X:%02X\\n' $((RANDOM%256)) $((RANDOM%256))\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h4>2. Virsh<\/h4>\n<p>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043a <strong>libvirtd<\/strong>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvirsh --connect qemu:\/\/\/system\r\n<\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043d\u0430\u0448 <strong>XML<\/strong> \u0444\u0430\u0439\u043b \u043d\u0430 \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u044c:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvirt-xml-validate macos-mojave.xml\r\n<\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 <strong>XML<\/strong> \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvirsh define macos-mojave.xml\r\n<\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvirsh start macos-mojave\r\n<\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a.<\/p>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043f\u0438\u0441\u043e\u043a <strong>VM<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvirsh list --all\r\n<\/pre>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nroot@KVM:~# virsh list --all\r\n Id    Name                           State\r\n----------------------------------------------------\r\n -     macos-mojave                   shut off\r\n<\/pre>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 &quot;<strong>macos-mojave<\/strong>&quot;<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvirsh dominfo macos-mojave\r\n<\/pre>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nroot@KVM:~# virsh dominfo macos-mojave\r\nId:             -\r\nName:           macos-mojave\r\nUUID:           2aca0dd6-cec9-4717-9ab2-0b7b13d111c3\r\nOS Type:        hvm\r\nState:          shut off\r\nCPU(s):         4\r\nMax memory:     8192000 KiB\r\nUsed memory:    8192000 KiB\r\nPersistent:     yes\r\nAutostart:      disable\r\nManaged save:   no\r\nSecurity model: none\r\nSecurity DOI:   0\r\n<\/pre>\n<p>\u041d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0430: &quot;<strong>Autostart: disable<\/strong>&quot;<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvirsh autostart macos-mojave\r\n<\/pre>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nroot@KVM:~# virsh autostart macos-mojave\r\nDomain macos-mojave marked as autostarted\r\n<\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u043d\u043e\u0432\u0430:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nroot@KVM:~# virsh dominfo macos-mojave\r\nId:             -\r\nName:           macos-mojave\r\nUUID:           2aca0dd6-cec9-4717-9ab2-0b7b13d111c3\r\nOS Type:        hvm\r\nState:          shut off\r\nCPU(s):         4\r\nMax memory:     8192000 KiB\r\nUsed memory:    8192000 KiB\r\nPersistent:     yes\r\nAutostart:      enable\r\nManaged save:   no\r\nSecurity model: none\r\nSecurity DOI:   0\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h4>3. IPTables<\/h4>\n<p>\u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 <strong>Virsh<\/strong> \u043f\u0435\u0440\u0435\u0442\u0438\u0440\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 <strong>IPTables<\/strong>&#39;\u0430 \u0441\u0432\u043e\u0438\u043c\u0438. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c, \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430.<br \/>\n\u0422\u0435\u043a\u0443\u0449\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\niptables -S\r\n<\/pre>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 <strong>IPTables<\/strong>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n#!\/bin\/bash\r\n \r\niptables -F\r\niptables -X\r\n \r\niptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT\r\niptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP\r\niptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP\r\niptables -A INPUT -m state --state INVALID -j DROP\r\niptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP\r\niptables -A INPUT -i lo -j ACCEPT\r\n \r\n########################## ALLOWED PORTS ###########################\r\n\r\niptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT\r\niptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT\r\niptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT\r\n\r\n#################### FOR SSH CONNECTIONS TO VM's ###################\r\n\r\niptables -A INPUT -p tcp -m tcp --dport 2222 -j ACCEPT\r\n \r\n####################### ALLOWED IP ADDRESSES #######################\r\n\r\n# FOR VNC ACCESS WITHOUT PASSWORD\r\niptables -A INPUT -s 1.1.1.1 -j ACCEPT\r\niptables -A INPUT -s 2.2.2.2 -j ACCEPT\r\n\r\n######################## FOR NAT FROM VM's #########################\r\n\r\niptables -A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT\r\niptables -A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT\r\niptables -A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT\r\niptables -A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT\r\n\r\n################### FOR FORWARDING PORTS TO VM's ###################\r\n\r\niptables -t nat -A PREROUTING -p tcp -d MY_EXTERNAL_IP --dport 2222 -j DNAT --to-destination 192.168.122.100:22\r\n\r\niptables -A FORWARD -i eno1 -d 192.168.122.100 -p tcp --dport 22 -j ACCEPT\r\n\r\n######################## FOR NAT FROM VM's #########################\r\n\r\niptables -A FORWARD -d 192.168.122.0\/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT\r\niptables -A FORWARD -s 192.168.122.0\/24 -i virbr0 -j ACCEPT\r\niptables -A FORWARD -i virbr0 -o virbr0 -j ACCEPT\r\niptables -A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable\r\niptables -A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable\r\n\r\niptables -A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT\r\n\r\niptables -P OUTPUT ACCEPT\r\niptables -P INPUT DROP\r\niptables -P FORWARD ACCEPT\r\n\r\n<\/pre>\n<p>\u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 <strong>IP<\/strong> \u0430\u0434\u0440\u0435\u0441, \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 &quot;<strong>eno1<\/strong>&quot; \u043d\u0430 \u0441\u0432\u043e\u0439.<\/p>\n<p>\u0421\u043a\u0440\u0438\u043f\u0442 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u043e\u0440\u0442\u0430\u043c: <strong>22<\/strong>, <strong>80<\/strong> \u0438 <strong>443<\/strong>. \u0410 \u0442\u0430\u043a \u0436\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a <strong>IP<\/strong> \u0430\u0434\u0440\u0435\u0441\u0430\u043c &quot;<strong>1.1.1.1<\/strong>&quot; \u0438 &quot;<strong>2.2.2.2<\/strong>&quot; \u0418 \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u0430 &quot;<strong>2222<\/strong>&quot; \u0441 \u0445\u043e\u0441\u0442\u0430 \u043d\u0430 \u043f\u043e\u0440\u0442 &quot;<strong>22<\/strong>&quot; \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b (<strong>IP<\/strong> \u0430\u0434\u0440\u0435\u0441 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b &#8212; <strong>192.168.122.100<\/strong>)<\/p>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\niptables-save &gt; \/etc\/iptables\/rules.v4\r\n<\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u044d\u0442\u0430 \u043f\u0430\u043f\u043a\u0430, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nmkdir \/etc\/libvirt\/hooks\r\n<\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nvim \/etc\/libvirt\/hooks\/network\r\n<\/pre>\n<p>\u0421\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n#!\/bin\/bash\r\n\r\n# Libvirt hook, see: https:\/\/www.libvirt.org\/hooks.html\r\n# for iptables reloading after host booted\r\n\r\nif [ &quot;$2&quot; = &quot;started&quot; ]; then\r\n\r\n\/bin\/systemctl restart netfilter-persistent\r\n\r\nfi;\r\n\r\nexit 0;\r\n<\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0431\u0438\u0442 \u0432\u044b\u043f\u043e\u043b\u0435\u043d\u043d\u0438\u044f:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nchmod +x \/etc\/libvirt\/hooks\/network\r\n<\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 <strong>Virsh<\/strong> \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f <strong>IPTables<\/strong>, \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043d\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b: \u041e\u0442\u043a\u0440\u043e\u0435\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 QEMU: \u0418 \u0434\u043e\u0431\u0430\u0432\u0438\u043c\/\u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443: \u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0441\u0435\u0440\u0432\u0438\u0441 libvirt:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[507],"tags":[511,515,517,377,509],"_links":{"self":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/758"}],"collection":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=758"}],"version-history":[{"count":13,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/758\/revisions"}],"predecessor-version":[{"id":775,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/758\/revisions\/775"}],"wp:attachment":[{"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}