1

我尝试使用 1 个开关 (s1) 和 1 个主机 (h1) 创建一个简单的拓扑。正如互联网上所建议的那样,我已经在交换机“s1”中添加了一个端口

ovs-vsctl add-port s1 enp0s3

并配置主机

ifconfig h1-eth0 0
dhclient h1-eth0

据我了解,我所做的是向交换机添加一个新端口(到我的网络接口 enp0s3),以便连接到交换机的 mininet 主机可以连接到互联网。然后在主机 h1 上设置一个 dhcp 服务器。

但是,我仍然无法从主机 h1 ping 任何服务器/网站。顺便说一句,直接从虚拟机 ping 它确实有效。

我可以采取任何其他方法将 mininet 主机连接到互联网吗?

4

2 回答 2

1

我找到了最简单的解决方案,

在命令中添加--nat。例如。sudo mn --topo --nat

但这并不能保证哪些交换机将连接到互联网,特别是如果您有多层拓扑 (> 2)

查看 mininet 常见问题解答以获取有关添加自己的拓扑和控制器以通过 NAT 连接主机的更多详细信息。

于 2018-08-03T06:46:59.667 回答
0

如果你使用python,它有一个简单的设置方法,在examples/nat.py中:

#!/usr/bin/python

"""
Example to create a Mininet topology and connect it to the internet via NAT
"""


from mininet.cli import CLI
from mininet.log import lg, info
from mininet.topolib import TreeNet


if __name__ == '__main__':
    lg.setLogLevel( 'info')
    net = TreeNet( depth=1, fanout=4 )
    # Add NAT connectivity
    net.addNAT().configDefault()
    net.start()
    info( "*** Hosts are running and should have internet connectivity\n" )
    info( "*** Type 'exit' or control-D to shut down network\n" )
    CLI( net )
    # Shut down NAT
    net.stop()

于 2019-05-08T00:32:06.460 回答