使用 KVM/QEMU 在 NAT 上进行端口转发
Port forwarding on NAT using KVM/QEMU
我正在为访客网络使用 NAT 模式。我需要可以从访客外部访问我的机器。我已经设置了 iptables 以将主机上的特定端口转发到来宾上的端口 22,但这似乎不起作用。
我添加了这条规则:
# Port Forwardings
-A PREROUTING -i eth0 -p tcp --dport 9867 -j DNAT --to-destination 192.168.122.136:22
# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
当我从主机 ssh 192.168.122.136
时,它工作得很好,但是当我尝试 ssh 192.168.122.136 -p 9867
时,它显示 ssh: connect to host 192.168.122.1 port 9867: Connection refused
我在 /etc/ufw/sysctl.conf
上启用了端口转发
using iptables -t nat -L
表明规则是在 iptable
上设置的
DNAT tcp -- anywhere anywhere tcp dpt:9867 to:192.168.122.136:22
找到我的答案here。基本上我把上面的改成了
# connections from outside
iptables -t nat -A PREROUTING -p tcp --dport 9867 -j DNAT --to 192.168.122.136:22
# for local connection
iptables -t nat -A OUTPUT -p tcp --dport 9867 -j DNAT --to 192.168.122.136:22
# Masquerade local subnet
iptables -t nat -A POSTROUTING -s 192.168.122.0/24 -j MASQUERADE
iptables -A FORWARD -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i virbr0 -o eth0 -j ACCEPT
iptables -A FORWARD -i virbr0 -o lo -j ACCEPT
我正在为访客网络使用 NAT 模式。我需要可以从访客外部访问我的机器。我已经设置了 iptables 以将主机上的特定端口转发到来宾上的端口 22,但这似乎不起作用。
我添加了这条规则:
# Port Forwardings
-A PREROUTING -i eth0 -p tcp --dport 9867 -j DNAT --to-destination 192.168.122.136:22
# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
当我从主机 ssh 192.168.122.136
时,它工作得很好,但是当我尝试 ssh 192.168.122.136 -p 9867
时,它显示 ssh: connect to host 192.168.122.1 port 9867: Connection refused
我在 /etc/ufw/sysctl.conf
using iptables -t nat -L
表明规则是在 iptable
DNAT tcp -- anywhere anywhere tcp dpt:9867 to:192.168.122.136:22
找到我的答案here。基本上我把上面的改成了
# connections from outside
iptables -t nat -A PREROUTING -p tcp --dport 9867 -j DNAT --to 192.168.122.136:22
# for local connection
iptables -t nat -A OUTPUT -p tcp --dport 9867 -j DNAT --to 192.168.122.136:22
# Masquerade local subnet
iptables -t nat -A POSTROUTING -s 192.168.122.0/24 -j MASQUERADE
iptables -A FORWARD -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i virbr0 -o eth0 -j ACCEPT
iptables -A FORWARD -i virbr0 -o lo -j ACCEPT