С белым адресом в случае с 28-ым адресом всё достаточно просто всё обстояло, я его пустил через бридж (указал бридж при установке виртуальной машины)
а тут указываете НЕ бридж...
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Виртуализация → Centos 6.5, KVM, настройка сети
С белым адресом в случае с 28-ым адресом всё достаточно просто всё обстояло, я его пустил через бридж (указал бридж при установке виртуальной машины)
а тут указываете НЕ бридж...
Вот вывод ifconfig'a
bridge0 Link encap:Ethernet
inet addr:хх.хх.хх.29 Bcast: xx.xx.xx.255 Mask:255.255.255.0
Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:768898 errors:0 dropped:0 overruns:0 frame:0
TX packets:270885 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:655681912 (625.3 MiB) TX bytes:157203830 (149.9 MiB)
eth0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16306736 errors:1 dropped:0 overruns:0 frame:1
TX packets:7471319 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21659511277 (20.1 GiB) TX bytes:988573682 (942.7 MiB)
Interrupt:16
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
virbr0 Link encap:Ethernet HWaddr 52:54:00:2E:3B:38
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
vnet0 Link encap:Ethernet HWaddr FE:54:00:48:21:1B
inet6 addr: fe80::fc54:ff:fe48:211b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7068749 errors:0 dropped:0 overruns:0 frame:0
TX packets:15806690 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:762500356 (727.1 MiB) TX bytes:20944707906 (19.5 GiB)
vnet1 Link encap:Ethernet HWaddr FE:54:00:FF:90:33
inet6 addr: fe80::fc54:ff:feff:9033/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:226 errors:0 dropped:0 overruns:0 frame:0
TX packets:42844 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:22964 (22.4 KiB) TX bytes:3247015 (3.0 MiB)Хорошо, укажу не бридж. Я просто ещё не доюрался до нормальной клавиатуры. Этого будет достаточно?
Так, указать virbr0... если хотите самостоятельно указывать адрес на виртуалке, то использовать сеть 192.168.122. (судя по вашим настройкам)... в качестве гейта использовать 192.168.122.1
и не забудьте настроить хост
настройки делаются аналогичными тем, которые делаются при настройке обычного роутера, только ваши виртуалки будут лоальной сетью
Указал серый адрес 192.168.122.45
Гейт 192.168.122.1
Маска 255.255.255.0
Что с DNS?
Можно поточнее с настройкой хоста? Что именно Вы имели ввиду?
днс можно тоже указать 192.168.122.1
с хостом: ну, роутинг там и т.д. плюс iptables, когда решите его настраивать
Я правильно понимаю нужно будет на хосте добавить адрес. Того будет достаточно?
С iptabes что именно нужно открывать для правилной работы?
Прописал ip route add 192.168.122.45 dev virbr0
В виртуальной машине поправил параметры интернета, прописал гейт и ДНС.
Интернета нет пока.
Я правильно понимаю нужно будет на хосте добавить адрес.
не понял
С iptabes что именно нужно открывать для правилной работы?
настроить NAT
не понял
На хосте добавил адрес - ip route add 192.168.122.45 dev virbr0
настроить NAT
iptables -A POSTROUTING -s 192.168.122.45 -o virbr0 -j SNAT --to-source xx.xx.xx.29Не получилось увидеть интернет на виртуальных машинах.
На хосте роуты править не надо, поскольку virbr0 на хосте, он и так знает. куда пакеты отправлять
iptables -A POSTROUTING -s 192.168.122.45 -o virbr0 -j SNAT --to-source xx.xx.xx.29
эээ, прямо такой командой и делали? тогда ничего странного, что не работает, забыли про -t nat... т.е.
iptables -t nat -A POSTROUTING -s 192.168.122.45 -o virbr0 -j SNAT --to-source xx.xx.xx.29и не забудьте про PREROUTING еще
iptables -t nat -A POSTROUTING -s 192.168.122.45 -o virbr0 -j SNAT --to-source xx.xx.xx.29
Вставляю данное правило в /etc/sysconfig/iptables и получаю
(потестил пару вариаций :
-A POSTROUTING -t nat -s 192.168.122.45 -o virbr0 -j SNAT --to-source xx.xx.xx.29
-t nat -A POSTROUTING -s 192.168.122.45 -o virbr0 -j SNAT --to-source xx.xx.xx.29
-A INPUT -t nat -A POSTROUTING -s 192.168.122.45 -o virbr0 -j SNAT --to-source xx.xx.xx.29
iptables: Цепочкам назначается политика ACCEPT: filter [color="green"][ OK ][/color]
iptables: Сбрасываются правила межсетевого экрана: [color="green"][ OK ][/color]
iptables: Выгружаются модули: [color="green"][ OK ][/color]
iptables: Применяются правила межсетевого экрана: iptables-restore v1.4.7: Line 12 seems to have a -t table option.
Error occurred at line: 12
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
[color="red"][СБОЙ ][/color]в данный момент мой iptables файл такой :
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5900:5905 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMITНе могли бы Вы более подробно описать данное действие? Так же есть вопросы с PREROUTING'ом. По всей видимости я что-то напутал и вовсе пропал интернет, пришлось сбросить все правила в iptables.
в данный момент мой iptables файл такой :
ок, у вас сейчас только filter в конфиге есть
добавьте в конец
*nat
-A POSTROUTING -s 192.168.122.0/24 -o virbr0 -j MASQUERADE
COMMITпро PREROUTING пока забудьте
еще в filter добавьте:
-A FORWARD -d 192.168.122.0/24 -o virbr0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPTок, у вас сейчас только filter в конфиге есть
добавьте в конец*nat
-A POSTROUTING -s 192.168.122.0/24 -o virbr0 -j MASQUERADE
COMMIT
Добавляю просто в конец, после своего COMMIT
iptables: Цепочкам назначается политика ACCEPT: filter [ OK ]
iptables: Сбрасываются правила межсетевого экрана: [ OK ]
iptables: Выгружаются модули: [ OK ]
iptables: Применяются правила межсетевого экрана: iptables-restore v1.4.7: no command specified
Error occurred at line: 17
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
[СБОЙ ]Выдаёт такое, если пробую вставить перед своим COMMIT строку : -A POSTROUTING -s 192.168.122.0/24 -o virbr0 -j MASQUERADE
iptables: Цепочкам назначается политика ACCEPT: nat filter [ OK ]
iptables: Сбрасываются правила межсетевого экрана: [ OK ]
iptables: Выгружаются модули: [ OK ]
iptables: Применяются правила межсетевого экрана: iptables-restore: line 12 failed
[СБОЙ ]Отмена паники.
Всё проглотил.
Ещё какие-либо правила нужны?
update : интернета всё ещё нет.
а вот теперь вопрос: что значит нет интернета? не пингуется по айпи и не пингуется по имени? или только по имени? пингуется ли с виртуалки хост? а с хоста виртуалка? и покажите сетевые настройки с виртуалки
Пингуется хост с виртуальной машины.
Виртуальная машина по Ip (192.168.122.45) не пингуется с хоста (хх.хх.хх.29)
iptables :
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5900:5905 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -d 192.168.122.0/24 -o virbr0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
*nat
-A POSTROUTING -s 192.168.122.0/24 -o virbr0 -j MASQUERADE
COMMITна виртуальной машине
IP - 192.168.122.45
NETMASK - 255.255.255.0
GATEWAY - 192.168.122.1
DNS1 - 192.168.122.1
строки FORWARD местами поменяйте, правила применяются по очереди
ничего не поменялось.
всё осталось по-прежнему.
Для меньшего геммороя вместо существующих правил FORWARD поставьте это:
-A FORWARD -j ACCEPTв sysctl форвардинг включен?
Да.
-A FORWARD -j ACCEPT
Заменил.
Так же выключил Firewall в виртуальной машине, пинг проходит с хоста до вирт. машины.
а при пинге дальше что пишет?
ping 192.168.122.45
PING 192.168.122.45 (192.168.122.45) 56(84) bytes of data.
64 bytes from 192.168.122.45: icmp_seq=1 ttl=128 time=0.444 ms
64 bytes from 192.168.122.45: icmp_seq=2 ttl=128 time=0.236 ms
64 bytes from 192.168.122.45: icmp_seq=3 ttl=128 time=0.216 ms
64 bytes from 192.168.122.45: icmp_seq=4 ttl=128 time=0.246 ms
64 bytes from 192.168.122.45: icmp_seq=5 ttl=128 time=0.207 ms
64 bytes from 192.168.122.45: icmp_seq=6 ttl=128 time=0.272 ms
64 bytes from 192.168.122.45: icmp_seq=7 ttl=128 time=0.272 ms
64 bytes from 192.168.122.45: icmp_seq=8 ttl=128 time=0.218 ms
64 bytes from 192.168.122.45: icmp_seq=9 ttl=128 time=0.210 ms
64 bytes from 192.168.122.45: icmp_seq=10 ttl=128 time=0.259 msпингую с вирт. машины хост - получаю 100% пакетов, без потерь.
это пинги с чего? пишите вывод вместе с командой. а то я ни черта не понимаю и прихъодится задавать кучу лишних вопросов
я имею в виду, что пишет, если пинговать что-то дальше хоста
С хоста всё пингуется, а с виртуальной машины нет. Пинг не проходит.
пинганите ради интереса внешний айпишник. который на хосте. из виртуалки
и покажите вывод команды
iptables -L -n -vи
iptables -L -n -v -t natLinux Forum → Виртуализация → Centos 6.5, KVM, настройка сети
Форум работает на PunBB, при поддержке Informer Technologies, Inc