JtrD 发表于 2017-3-24 18:09:51

水一贴,Proxmox ve 3.X 小鸡端口转发

本帖最后由 JtrD 于 2017-4-9 23:02 编辑

yc013t 我是小白,具体教程参考 https://www.zmrbk.com/post-3245.html,简单说下遇到的坑。
openvz小鸡,教程使用的是4.x,而3.x没有在创建时直接添加IP的地方,可在下面这个位置添加。
https://1tpic.com/images/2017/03/24/111.jpg
KVM 小鸡(装centos),yc006t 这个瞎折腾,跳过坑后就觉得简单,因为面板没添加静态IP的地方,遂搜索几页贴子,终于看到大佬回复,KVM小鸡可进控制台配置静态IP,yc018t 动手吧骚年。
首先在母鸡配置好转发的端口(设内网IP为10.99.0.2),然后创建KVM时,桥接模式 vmbr2,网卡模型选择Realtec RTL8139(开始按默认选择Intel E1000,yc016t 一直没响应,还好看到容妹子的教程){修正一},创建,启动,进控制台(Chrome会屏蔽弹窗),登陆,编辑网络。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
https://1tpic.com/images/2017/03/24/3333333.jpg
添加DNS(刚才更新系统发现没设DNS)
vi /etc/resolv.conf
nameserver 8.8.4.4
nameserver 8.8.8.8
重启网络
/etc/init.d/network restart
结束。

PS 如果PROXMOX面板关闭KVM失败 提示VM quit/powerdown failed - got timeout
需要在小鸡中安装acpid服务
yum -y install acpid && /etc/init.d/acpid start

{修正一}
E1000是可用的,估计没配置好网关(时间太久忘了)
通常,Linux 2.4.19 版和更高版本、Windows XP Professional x64 版和更高版本以及 Windows Server 2003(32 位)和更高版本包含 E1000 驱动程序
参考 VM

JtrD 发表于 2017-3-24 21:17:18

恋花 发表于 2017-3-24 18:56
支持楼主分享,虽然对自己来说是早就搞定了,不过没有那爱心去弄教程分享.

yc019t感谢大佬送的PT邀请码,3.X参考你的帖子,以及另一位大佬硬盘测速才使用的。
这个也有参考,只是没玩的那么深。
1. 更新和安装软件

apt-get -y update;apt-get -y upgrade;apt-get install -y screen vim axel zip unzip;

2. 更改密码,更改ssh端口

vi /etc/ssh/sshd_config

service ssh restart

3. 修改JS文件(免得每次进入WEB控制面板都提示授权)

a. 备份一下

cp /usr/share/pve-manager/ext4/pvemanagerlib.js /usr/share/pve-manager/ext4/pvemanagerlib.js_BKP

b. 下载 /usr/share/pve-manager/ext4/pvemanagerlib.js文件来修改

c. 替换

if (data.status !== 'Active') {

if (false) {

d. 替换
addLine("Type 'help' for help.");

addLine("Type 'help' for help.\n输入help查看帮助信息\n\n设置VNC密码命令:\nset_password vnc a12345678A");


4. 下载openvz模板 (其他模板可以在 https://download.openvz.org/template/precreated/ 找到)

cd /var/lib/vz/template/cache/;wget https://download.openvz.org/template/precreated/centos-6-x86-minimal.tar.gz;

5. 建立新网卡(NAT + 端口转发)

vi /etc/network/interfaces

添加以下内容,简介:添加vmbr2网卡10.21.21.254,设置NAT转发,IP和端口可以自己调整.

auto vmbr2
iface vmbr2 inet static
    address 10.21.21.254
    netmask 255.255.255.0
    bridge_ports none
    bridge_stp off
    bridge_fd 0
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s '10.21.21.0/24' -o vmbr0 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.21.21.0/24' -o vmbr0 -j MASQUERADE

#可选端口转发(做DHCP服务器的102号KVM小鸡远程连接) 注意外网IP

    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 2222 -j DNAT --to 10.21.21.102:2222
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 2222 -j DNAT --to 10.21.21.102:2222
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 2223 -j DNAT --to 10.21.21.102:21
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 2223 -j DNAT --to 10.21.21.102:21

#可选端口转发(101号OVZ小鸡做常用外网映射) 注意外网IP

    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 80 -j DNAT --to 10.21.21.101:80
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 80 -j DNAT --to 10.21.21.101:80
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 21 -j DNAT --to 10.21.21.101:21
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 21 -j DNAT --to 10.21.21.101:21
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 8080 -j DNAT --to 10.21.21.101:8080
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 8080 -j DNAT --to 10.21.21.101:8080
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 1020 -j DNAT --to 10.21.21.101:1020
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 1020 -j DNAT --to 10.21.21.101:1020
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 6800 -j DNAT --to 10.21.21.101:6800
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 6800 -j DNAT --to 10.21.21.101:6800
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 8888 -j DNAT --to 10.21.21.101:8888
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 8888 -j DNAT --to 10.21.21.101:8888
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 55555 -j DNAT --to 10.21.21.101:55555
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 55555 -j DNAT --to 10.21.21.101:55555
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 1194 -j DNAT --to 10.21.21.101:1194
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 1194 -j DNAT --to 10.21.21.101:1194
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 6800 -j DNAT --to 10.21.21.101:6800
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 6800 -j DNAT --to 10.21.21.101:6800
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 51413 -j DNAT --to 10.21.21.101:51413
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 51413 -j DNAT --to 10.21.21.101:51413
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5001 -j DNAT --to 10.21.21.101:22
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5001 -j DNAT --to 10.21.21.101:22
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5002 -j DNAT --to 10.21.21.101:5901
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5002 -j DNAT --to 10.21.21.101:5901
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 51412 -j DNAT --to 10.21.21.101:51412
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 51412 -j DNAT --to 10.21.21.101:51412
    post-up iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 9091 -j DNAT --to 10.21.21.101:9091
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 9091 -j DNAT --to 10.21.21.101:9091

#可选端口转发(其它OVZ小鸡的SSH与VNC端口映射) 注意外网IP

    post-upiptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5003 -j DNAT --to 10.21.21.103:22
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5003 -j DNAT --to 10.21.21.103:22
    post-upiptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5004 -j DNAT --to 10.21.21.103:5901
    post-down iptables -t nat -D PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5004 -j DNAT --to 10.21.21.103:5901
      
ESC :wq 保存退出之后重启网络,添加虚拟机的网络为桥接 vmbr2,再添加IP即可外网访问.

/etc/init.d/networking restart


可以手动在母鸡执行命令添加规则 (删除规则就是把-A 换成 -D)

iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5043 -j DNAT --to 10.21.21.123:22
iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5044 -j DNAT --to 10.21.21.123:5901
iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5045 -j DNAT --to 10.21.21.124:22
iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5046 -j DNAT --to 10.21.21.124:5901
iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5047 -j DNAT --to 10.21.21.125:22
iptables -t nat -A PREROUTING -i vmbr0 -d 母鸡外网IP -p tcp --dport 5048 -j DNAT --to 10.21.21.125:5901

#查看NAT规则列表命令

iptables -t nat -L -n -v

6. 弄好KVM小鸡后可以设置VNC来进行外网访问

a. 编辑配置文件,开启VNC

cd /etc/pve/local/qemu-server/
vi /etc/pve/local/qemu-server/xxx.conf

文件末尾添加如下一行(端口11表示最后使用端口5911)

args: -vnc 0.0.0.0:11,a12345678A

b. 去WEB控制面板里添加VNC密码

set_password vnc a12345678A

#7. 可选:设置KVM小鸡绑定固定CPU核心命令

eval $(ps -eLo ruser,pid,ppid,lwp,psr,args | grep "/usr/bin/kvm -id 107" | awk '{print "taskset -cp 2,3 "$4";"}')
eval $(ps -eLo ruser,pid,ppid,lwp,psr,args | grep "/usr/bin/kvm -id 101" | awk '{print "taskset -cp 4,5 "$4";"}')
eval $(ps -eLo ruser,pid,ppid,lwp,psr,args | grep "/usr/bin/kvm -id 102" | awk '{print "taskset -cp 6,7 "$4";"}')
eval $(ps -eLo ruser,pid,ppid,lwp,psr,args | grep "/usr/bin/kvm -id 103" | awk '{print "taskset -cp 8,9 "$4";"}')
eval $(ps -eLo ruser,pid,ppid,lwp,psr,args | grep "/usr/bin/kvm -id 104" | awk '{print "taskset -cp 10,11 "$4";"}')
eval $(ps -eLo ruser,pid,ppid,lwp,psr,args | grep "/usr/bin/kvm -id 105" | awk '{print "taskset -cp 12,13 "$4";"}')
eval $(ps -eLo ruser,pid,ppid,lwp,psr,args | grep "/usr/bin/kvm -id 106" | awk '{print "taskset -cp 14,15 "$4";"}')
eval $(ps -eLo ruser,pid,ppid,lwp,psr,args | grep "/usr/bin/kvm -id 107" | awk '{print "taskset -cp 2,3 "$4";"}')

8. Openvz开启tun(可以安装open扶墙)

a. 编辑vz.conf文件,添加iptable_nat ipt_state这2个东西

vi /etc/vz/vz.conf

IPTABLES=" ***" 这一行的引号内添加2个模块

iptable_nat ipt_state

b. 手动关闭所有小鸡,重启openvz模块

/etc/init.d/vz restart

c. 对小鸡进行必要的设置(这里以小鸡100为例,100是指PID,WEB控制面板里可以看到)

vzctl set 100 --devices c:10:200:rw --save
vzctl set 100 --capability net_admin:on --save

d. 母鸡加载一次这些

modprobe ipt_mark
modprobe ipt_MARK
modprobe ip_nat_pptp
modprobe nf_nat_pptp
modprobe tun

或者

vi /etc/modules

ipt_mark
ipt_MARK
ip_nat_pptp
nf_nat_pptp
tun

查看是否启用模块

lsmod | grep nf_nat_pptp

e. 启动小鸡输入以下命令

mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun

9. 压缩kvm的qcow2文件

qemu-img convert -c -O qcow2 vm-102-disk-2.qcow2 vm-102-disk-2_bak.qcow2

10. 任务计划 定时重启某KVM小鸡

crontab -e

11 1-23/5 * * * /usr/sbin/qm stop 173;sleep 5;/usr/sbin/qm start 173

11. OVZ小鸡配置文件 目录

/etc/vz/conf/

suzizi 发表于 2017-3-24 18:11:19

图样图森破 发表于 2017-3-24 18:38:26

感谢楼主分享,正需要

恋花 发表于 2017-3-24 18:56:36

支持楼主分享,虽然对自己来说是早就搞定了,不过没有那爱心去弄教程分享.

guonning2000 发表于 2017-3-24 20:20:04

感谢分享,学习下

司机老托 发表于 2017-3-24 21:01:46

mark一下,闲着时候去玩玩儿

letxxt 发表于 2017-3-24 22:47:20

支持下,收藏了         :lol
页: [1]
查看完整版本: 水一贴,Proxmox ve 3.X 小鸡端口转发