-2
我在VirtualBox中有一个虚拟机。由于DHCP,它获得了一个特定的本地IP。例如192.168.18.16如何使Linux上的虚拟机(VM)始终可以使用upnpc进行实时UPNP重定向访问
我使用upnpc(miniupnpc包)为了创建从互联网到特定端口的重定向。 例如,对于FTP(端口21),我可以创建从VM的1621外部端口到21端口的重定向。我使用cron与线:
* * * * * upnpc -a 192.168.10.16 21 1621 TCP
我的VM可以在不同的网络上运行,并获得不同的IP,如192.168.19.16,192.168.30.16 ...
我不想手动修改重定向取决于正在运行的网络。 因此,我想在crontab -e命令:
* * * * * upnpc -a $(ifconfig eth0 | grep 'adr:' | cut -d: -f2 | awk '{ print $1}') 21 1621 TCP
,但它没有工作,为什么?我能做什么 ?
THX你的答案
本网站旨在解答有关编程的问题。您更有可能在[超级用户](http://superuser.com) – simonc
Thx上为您的评论获得有关使用现有程序的问题的答案,但我认为它是bash编程。你同意吗? – Platypus
你的'ifconfig eth0 | grep'adr:'| cut -d:-f2 | awk'{print $ 1}''可能是错误的。查看ifconfig的输出并修复它。例如在我的机器上,这没有任何问题,而'ifconfig eth0 | grep'inet'| awk'{print $ 2}''给了我198.18.32.1,这确实是我eth0的IP。 – jbm