私は KVM を初めて使用し、ここで多くのスレッドを読みましたが、私の場合はどれも役に立ちませんでした。
KVM ホストにゲストがいて、ホストからゲストのポート 80 にポート 80 を転送したいと考えています。私はiptablesでこれを行いました:
Guest_name=theguest
Guest_ipaddr=192.168.122.43
Host_port=( '80' )
Guest_port=( '80' )
length=$(( ${#Host_port[@]} - 1 ))
if [ "${1}" = "${Guest_name}" ]; then
if [ "${2}" = "stopped" -o "${2}" = "reconnect" ]; then
for i in `seq 0 $length`; do
iptables -t nat -D PREROUTING -p tcp --dport ${Host_port[$i]} -j DNAT --to ${Guest_ipaddr}:${Guest_port[$i]}
iptables -D FORWARD -d ${Guest_ipaddr}/32 -p tcp -m state --state NEW -m tcp --dport ${Guest_port[$i]} -j ACCEPT
done
fi
if [ "${2}" = "start" -o "${2}" = "reconnect" ]; then
for i in `seq 0 $length`; do
iptables -t nat -A PREROUTING -p tcp --dport ${Host_port[$i]} -j DNAT --to ${Guest_ipaddr}:${Guest_port[$i]}
iptables -I FORWARD -d ${Guest_ipaddr}/32 -p tcp -m state --state NEW -m tcp --dport ${Guest_port[$i]} -j ACCEPT
done
fi
fi
全体的にこれは機能しますが、常にではありません。Apache への http リクエストは機能しているため、ルールは正しいようです。http アドレスに対して wget リクエストを実行しても、何も起こりません。FTPアドレスにwgetリクエストを行うと(--user = theusername --password = thepasswordを使用)、機能します。
最大の問題: apt-get update が機能していません。行うことは次のとおりです。
0% [Verbindung mit de.archive.ubuntu.com (141.30.13.20)] [Verbindung mit security.ubuntu.com (91.189.91.13)]
この段階では、Ctrl-C のみが役に立ちます。
KVM xml ファイルのネットワークは次のように構成されています。
<interface type='network'>
<source network="default"/>
<mac address='themacaddress'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
誰でも助けることができますか?よろしくお願いします!