这里还有其他类似的问题,但没有一个答案对我有用。
我可以使用 ubuntu 成功启用 virtualbox 设置的混杂模式,并使用 vagrant 配置
vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"]
我可以看到在 virtualbox 中设置已成功更改,但在 ubuntu 中,当我执行时它似乎没有启用
ip a
我明白了
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0d:13:2a:3a:23 brd ff:ff:ff:ff:ff:ff
inet 192.168.15.10/24 brd 192.168.92.255 scope global enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe1f:5c51/64 scope link
valid_lft forever preferred_lft forever
我正在使用流浪者形象-
config.vm.box = "ubuntu/xenial64"
主机使用的是 macos 10.13.6
答案1
解决方案是向 rc.local 添加一些配置。我使用 Ansible 的解决方案是
- name: insert/update block in /etc/rc.local
blockinfile:
path: /etc/rc.local
backup: yes
content: |
#promiscuous mode required for routing
/sbin/ifconfig {{ vpn_nic }} up
/sbin/ifconfig {{ vpn_nic }} promisc
when: configure_gateway|bool
tags:
- init
- name: execute and check with netstat
shell: |
/etc/rc.local
netstat -i
register: netstatout
become: true
tags:
- init
- debug:
msg: "{{ netstatout.stdout }}"