root@server4:~# ip netns add ns1
root@server4:~# ip netns add ns2
root@server4:~# ip link add veth1 type veth peer name veth2
root@server4:~# ip link set veth1 netns ns1 name eth0
root@server4:~# ip link set veth2 netns ns2 name eth0
root@server4:~# ip netns exec ns1 bash
root@server4:~# ip a
1: lo: & mtu 65536 qdisc noop state DOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
35: eth0: & mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether b2:be:7f:31:56:68 brd ff:ff:ff:ff:ff:ff
root@server4:~# ip l s lo up
root@server4:~# ip l s etho up
Cannot find device "etho"
root@server4:~# ip l s eth0 up
root@server4:~# ip a add 10.1.2.1/24 dev eth0
root@server4:~# ip a
1: lo: & mtu 65536 qdisc noqueue state UNKNOWN group default
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
35: eth0: & mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether b2:be:7f:31:56:68 brd ff:ff:ff:ff:ff:ff
inet 10.1.2.1/24 scope global eth0
valid_lft forever preferred_lft forever
root@server4:~# ip r add 10.1.3.0/24 dev eth0
root@server4:~# ip r
10.1.2.0/24 dev eth0 proto kernel scope link src 10.1.2.1
10.1.3.0/24 dev eth0 scope link
root@server4:~# exit
root@server4:~# ip netns exec ns2 bash
root@server4:~# ip a
1: lo: & mtu 65536 qdisc noop state DOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
34: eth0: & mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 1a:c3:2e:0b:ba:e7 brd ff:ff:ff:ff:ff:ff
root@server4:~# ip l s lo up
root@server4:~# ip l s eth0 up
root@server4:~# ip a add 10.1.3.1/24 dev eth0
root@server4:~# ip r add 10.1.2.0/24 dev eth0
root@server4:~# ip r
10.1.2.0/24 dev eth0 scope link
10.1.3.0/24 dev eth0 proto kernel scope link src 10.1.3.1
root@server4:~# ip a
1: lo: & mtu 65536 qdisc noqueue state UNKNOWN group default
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
34: eth0: & mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 1a:c3:2e:0b:ba:e7 brd ff:ff:ff:ff:ff:ff
inet 10.1.3.1/24 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::18c3:2eff:fe0b:bae7/64 scope link
valid_lft forever preferred_lft forever
root@server4:~# ping 10.1.3.1
PING 10.1.3.1 (10.1.3.1) 56(84) bytes of data.
64 bytes from 10.1.3.1: icmp_seq=1 ttl=64 time=0.040 ms
^[[A^C
--- 10.1.3.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.040/0.040/0.040/0.000 ms
root@server4:~# ping 10.1.2.1
PING 10.1.2.1 (10.1.2.1) 56(84) bytes of data.
64 bytes from 10.1.2.1: icmp_seq=1 ttl=64 time=0.067 ms
64 bytes from 10.1.2.1: icmp_seq=2 ttl=64 time=0.039 ms
^C
--- 10.1.2.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.039/0.053/0.067/0.014 ms
睡不著就幫題主解答一下吧
首先題主使用三層交換機 無可厚非是可以通的。而當題主使用no ip routing關閉交換機的路由功能以後,r2和r3就不能通信了。當題主再把三層交換機換成傻瓜交換機的時候,r2和r3一定是又可以通信的,接下來我對通信的方式進行一下解釋。首先我們來討論下不同情況下網路設備的通訊情況(以下僅僅針對乙太網)
首先是題主的r2路由器10.1.2.1得到命令去10.1.3.1,r2一看,我次熬和我不是一個網段啊,我次熬我沒有路由功能啊(no ip routing),我次熬我也沒配網關啊,那我直接發個arp包來請求10.1.3.1的mac地址吧,看看和我同網段的設備有沒有知道的,於是r1收到了這個arp請求。
r1收到之後一看,我雖然能到10.1.3.1(直連)但是我沒有路由表啊(no IP routing),也就不能進行路由轉發啊,所以我不能響應這個arp請求。我還是個交換機啊,我就把這個arp包本身從其他相同vlan的埠發出去吧。(因為題主配了兩個SVI所以連接r2r3的兩個埠一定不屬於一個vlan吧?!)