我目前用 TUN/TAP 给虚拟机分配了 network interface ,通过设置一下三条规则,虚拟机能上网:
iptables -A FORWARD -i tap0 -o wlan0 -j ACCEPT
iptables -A FORWARD -i wlan0 -o tap0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
现在,我想让虚拟机能访问主机上的某些服务,这些服务只监听了 127.0.0.1 。假设 tap0 的网段是 10.0.0/24 ,iptables 命令该怎么写呢?
1
wonderblank 2022-12-25 21:49:03 +08:00 1
1. 直接监听 0.0.0.0 ,可以直接访问
2. iptables -t nat -I PREROUTING -i tap0 -p tcp --dport 80 -j REDIRECT --to-port 80 # DNAT |
2
L4Linux OP @wonderblank 好像不行,这样设置虚拟机里访问不了 10.0.0.0:80 (网关),而且 iptables -L 也显示不出这条规则。
|
3
L4Linux OP @wonderblank Samba 成功了 V2Ray 没成功。这条规则是没问题的。
|
4
wonderblank 2022-12-26 09:20:53 +08:00
可以加上-d tap0_ip_on_host ,这样就不会影响其他网站访问。
|