Использование
ip r добавить 0.0.0.0 через 172.20.10.10 src 10.0.100.10
ПОЛУЧИЛ:
Ошибка: неверный адрес prefsrc
Как это исправить?
Цель:
netns (хост) => ppp0 => Интернет через ppp0
Моя конфигурация:
/home# IP netns
нс2
ns1 (id: 0) <<<<<<<<<<<<<<<<<<<
/home# ip netns exec ns1 ip a
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: ip_vti0@NONE: <NOARP> mtu 1480 qdisc noop состояние DOWN группа по умолчанию qlen 1000
ссылка/ipip 0.0.0.0 брд 0.0.0.0
15: virt1@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
ссылка/эфир 02:e6:f6:3a:19:2f brd ff:ff:ff:ff:ff:ff ссылка-netnsid 0
inet 10.0.100.10/24 глобальная область видимости virt1 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
valid_lft навсегда
inet6 fe80::e6:f6ff:fe3a:192f/64 ссылка на область действия
valid_lft навсегда
/home# ip netns exec ns1 ip r
по умолчанию через 10.0.100.1 dev virt1
10.0.100.0/24 dev virt1 ссылка на область ядра proto src 10.0.100.10
/home# 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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 11:22:33:44:31:34 брд ff:ff:ff:ff:ff:ff
inet 1.2.3.4/20 brd 1.2.3.255 глобальная область действия eth0
valid_lft навсегда
inet 10.10.0.8/16 brd 10.10.255.255 глобальная область действия eth0
valid_lft навсегда
inet6 1111::2222:3333:4444:5555/64 ссылка на область
valid_lft навсегда
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1450 qdisc fq_codel состояние НЕИЗВЕСТНО группа по умолчанию qlen 3
ссылка/ppp
inet 172.20.10.1 одноранговый узел 172.20.10.10/32 глобальный охват ppp0
valid_lft навсегда
14: virt-h@if15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
ссылка/эфир f2:7e:68:40:ff:13 brd ff:ff:ff:ff:ff:ff link-netns ns1
inet 10.0.100.1/24 глобальная область virt-h <<<<<<<<<<<<
valid_lft навсегда
ссылка на область inet6 fe80::f07e:68ff:fe40:ff13/64
valid_lft навсегда
netns : virt1 <> virt-h
/home# ip р
по умолчанию через 1.2.3.4 dev eth0 proto static
10.0.100.0/24 dev virt-h ссылка на область действия ядра proto src 10.0.100.1
1.2.3.0/20 dev eth0 proto kernel scope link src 1.2.3.4
172.20.10.10 dev ppp0 прото-ссылка на область ядра src 172.20.10.1
Переадресация включена.
netns настроен так, как написано здесь:
https://blogs.igalia.com/dpino/2016/04/10/сетевые пространства имен/
также:
/home# ip netns exec ns1 ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56 (84) байт данных.
64 байта из 8.8.8.8: icmp_seq=1 ttl=117 время=2,39 мс
64 байта из 8.8.8.8: icmp_seq=2 ttl=117 время=1,52 мс
/home# ip netns exec ns1 ping 172.20.10.1
PING 172.20.10.1 (172.20.10.1) 56 (84) байт данных.
64 байта из 172.20.10.1: icmp_seq=1 ttl=64 время=0,071 мс
64 байта из 172.20.10.1: icmp_seq=2 ttl=64 время=0,118 мс
УПД 1: этот маршрут должен быть установлен на хосте, но для комментатора это также дает ошибку (как написано в Почему «Nexthop имеет недопустимый шлюз», когда он кажется определенным?):
/home# ip netns exec ns1 ip r добавить по умолчанию через 172.20.10.10 src 10.0.100.10
Ошибка: Nexthop имеет недопустимый шлюз.