root@kolla02:~/dev-env# ip rs
по умолчанию через 192.168.1.101 dev eno1
10.0.0.0/16 dev eno2 ссылка на область действия ядра proto src 10.0.0.1
10.1.0.0/16 dev virbr2 прото-область ядра ссылка src 10.1.0.1
10.230.0.0/16 dev virbr3 прото-область ядра ссылка src 10.230.0.1
192.168.0.0/16 dev eno1 ссылка на область ядра proto src 192.168.20.11
192.168.1.101 dev eno1 proto dhcp scope link src 192.168.20.11 метрика 100
192.168.121.0/24 dev virbr1 прото-область ядра ссылка src 192.168.121.1
root@kolla02:~/dev-env# curl google.com
curl: (7) Не удалось подключиться к порту <proxy> <port>: нет маршрута к хосту
root@kolla02:~/dev-env# curl google.com --interface eno1
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 перемещено</TITLE></HEAD><BODY>
<H1>301 перемещено</H1>
Документ перемещен
<A HREF="http://www.google.com/">здесь</A>.
</ТЕЛО></HTML>
Мне нужно, чтобы curl работал без указания интерфейса каждый раз. Маршрут по умолчанию установлен, поэтому не уверен, почему он не работает без интерфейса. Как это исправить?
ОС --> Ubuntu 20.04
Если все дополнительные маршруты будут удалены, чтобы оставить это:
по умолчанию через 192.168.1.101 dev eno1 proto dhcp src 192.168.20.11 метрика 100
192.168.0.0/16 dev eno1 ссылка на область ядра proto src 192.168.20.11
192.168.1.101 dev eno1 proto dhcp scope link src 192.168.20.11 метрика 100
Маршрут по умолчанию снова начинает работать:
root@kolla02:~/dev-env# curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 перемещено</TITLE></HEAD><BODY>
<H1>301 перемещено</H1>
Документ перемещен
<A HREF="http://www.google.com/">здесь</A>.
</ТЕЛО></HTML
Но эти маршруты нужны для бродяг и в данном случае не являются решением.
ОБНОВИТЬ:
похоже, что конфликтующая запись:
10.1.0.0/16 dev virbr2 прото-область ядра ссылка src 10.1.0.1
как только это удаляется, все работает нормально. Но этот маршрут нужен для работы vagrant.
root@kolla02:~/dev-env# IP
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
ссылка/эфир a4:bf:01:55:f6:28 brd ff:ff:ff:ff:ff:ff
инет 192.168.20.11/16 brd 192.168.255.255 глобальный охват eno1
valid_lft навсегда
ссылка на область inet6 fe80::a6bf:1ff:fe55:f628/64
valid_lft навсегда
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
ссылка/эфир a4:bf:01:55:f6:29 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::a6bf:1ff:fe55:f629/64
valid_lft навсегда
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
ссылка/эфир 02:42:0b:2d:4f:ee brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 глобальная область действия docker0
valid_lft навсегда
5: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
ссылка/эфир 52:54:00:07:f9:55 брд ff:ff:ff:ff:ff:ff
инет 192.168.121.1/24 brd 192.168.121.255 глобальная область действия virbr1
valid_lft навсегда
6: virbr1-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr1 состояние DOWN группа по умолчанию qlen 1000
ссылка/эфир 52:54:00:07:f9:55 брд ff:ff:ff:ff:ff:ff
7: virbr2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
ссылка/эфир 52:54:00:9c:15:16 брд ff:ff:ff:ff:ff:ff
инет 10.1.0.1/16 brd 10.1.255.255 глобальная область действия virbr2
valid_lft навсегда
8: virbr2-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr2 state DOWN group default qlen 1000
ссылка/эфир 52:54:00:9c:15:16 брд ff:ff:ff:ff:ff:ff
9: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr1 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:99:a4:2f brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::fc54:ff:fe99:a42f/64
valid_lft навсегда
10: macvtap0@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:2e:82:8b брд ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fe2e:828b/64 ссылка на область действия
valid_lft навсегда
11: macvtap1@eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:ff:40:a0 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:feff:40a0/64 ссылка на область видимости
valid_lft навсегда
12: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr2 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:44:07:25 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::fc54:ff:fe44:725/64
valid_lft навсегда
13: vnet2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr1 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:55:fc:18 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fe55:fc18/64 ссылка на область действия
valid_lft навсегда
14: macvtap2@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:ee:cf:c6 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:feee:cfc6/64 ссылка на область видимости
valid_lft навсегда
15: macvtap3@eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:b9:1a:e0 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::5054:ff:feb9:1ae0/64
valid_lft навсегда
16: vnet3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr2 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:65:ab:6f brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::fc54:ff:fe65:ab6f/64
valid_lft навсегда
17: vnet4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr1 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:0f:8e:63 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::fc54:ff:fe0f:8e63/64
valid_lft навсегда
18: macvtap4@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:2c:39:9f brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::5054:ff:fe2c:399f/64
valid_lft навсегда
19: macvtap5@eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:78:8b:e2 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::5054:ff:fe78:8be2/64
valid_lft навсегда
20: vnet5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr2 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:3d:c3:28 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::fc54:ff:fe3d:c328/64
valid_lft навсегда
21: vnet6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr1 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:bd:b4:dd brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::fc54:ff:febd:b4dd/64
valid_lft навсегда
22: macvtap6@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:a3:7a:db brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fea3:7adb/64 ссылка на область действия
valid_lft навсегда
23: macvtap7@eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:9a:31:0f brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::5054:ff:fe9a:310f/64
valid_lft навсегда
24: vnet7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr2 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:78:db:b6 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::fc54:ff:fe78:dbb6/64
valid_lft навсегда
25: vnet8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr1 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:93:71:45 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::fc54:ff:fe93:7145/64
valid_lft навсегда
26: macvtap8@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:99:c1:9c brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::5054:ff:fe99:c19c/64
valid_lft навсегда
27: macvtap9@eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:11:a9:ab brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fe11:a9ab/64 ссылка на область действия
valid_lft навсегда
28: vnet9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr2 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:37:be:e0 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fe37:bee0/64 ссылка на область действия
valid_lft навсегда
29: vnet10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr1 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:78:6f:36 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::fc54:ff:fe78:6f36/64
valid_lft навсегда
30: macvtap10@eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:51:1e:a4 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::5054:ff:fe51:1ea4/64
valid_lft навсегда
31: macvtap11@eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 500
ссылка/эфир 52:54:00:7f:f8:6e brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::5054:ff:fe7f:f86e/64
valid_lft навсегда
32: vnet11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master состояние virbr2 НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/эфир fe:54:00:98:1d:35 brd ff:ff:ff:ff:ff:ff
ссылка на область inet6 fe80::fc54:ff:fe98:1d35/64
valid_lft навсегда
ОБНОВЛЕНИЕ2:
Я изменил бродячую частную сеть с 10.1.0.0/16 на частный диапазон 172.16.0.0/16, и он начал работать. @Michael Hampton намекнул на конфликтующие маршруты. HTTP-прокси был перенаправлен во внутреннюю бродячую частную сеть вместо того, чтобы выходить наружу.
Vagrant.configure('2') сделать |config|
(1..6).каждый делать |i|
config.vm.define "vm-#{i}" сделать |узел|
config.vm.box = 'общий/ubuntu2004'
node.vm.network 'public_network',
:dev => 'eno1',
:mode => 'мост',
:сетевая маска => '255.255.0.0',
:ip => "192.168.20.#{50 + i}"
node.vm.network 'public_network',
:dev => 'eno2',
:bridge => 'eno2',
:сетевая маска => '255.255.0.0',
:ip => "10.0.87.#{i}"
node.vm.network 'частная_сеть',
:forward_mode => 'натур',
:forward_device => 'eno1',
:ip => "172.16.0.#{10+i}",
:сетевая маска => '255.255.0.0'
node.vm.provider 'libvirt' сделать |v| # документы -> https://github.com/vagrant-libvirt/vagrant-libvirt
# память в мегабайтах
v.memory = $память
# количество виртуальных процессоров.
v.процессор = $процессор
# вложенная виртуализация
v.вложенный = истина
# размер загрузочного образа в ГБ
v.machine_virtual_size = 150
v.storage: файл,
:размер => 100,
:allow_existing => правда,
:path => "vm-#{i}-data.img"
node.vm.provision "оболочка", встроенный: $script
конец
конец
конец
конец