注意:部分文章发布时间较长,可能存在未知因素,购买时建议在本站搜索商家名称,先充分了解商家动态。
交流:唯一投稿邮箱:hostvps@88.com。
SSH,最好root用户。我用的是另一家的NAT插件。
下面为KVM NAT的设置,如果是OVZ则需多加个步骤。
1、创建NAT网桥
brctl addbr natbr0
2、配置网桥
cat natbr0: flags=4163 mtu 1500
inet 10.111.111.1 netmask 255.255.255.0 broadcast 10.111.111.255 inet6 fe80::1c5a:eff:fe8c:a9ca prefixlen 64 scopeid 0x20 ether 这:里:显示:的:是:MAC地址 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 14 bytes 900 (900.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
5、开启包转发功能
sysctl net.ipv4.ip_forward
如果已经启动则显示
net.ipv4.ip_forward = 1
如果没有启动则显示(请按照下面步骤进行开启, 必要功能)
net.ipv4.ip_forward = 0
CentOS7 开启方式
echo "net.ipv4.ip_forward = 1" >> /usr/lib/sysctl.d/50-default.conf
sysctl -p
CentOS6 开启方式
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
6、开启NAT转发, 以便虚拟机能访问公网
iptables -t nat -A POSTROUTING -s '10.111.111.0/24' -o 拥有公网IP的网卡 -j MASQUERADE
永久保存
service iptables save
CentOS 7 需要安装iptables-serivces才能执行该命令
yum install iptables-serivces -y
7、修改SolusVM 节点网桥
请登陆SolusVM后, 修改该节点设置
其中 [KVM Bridge] 须修改为 [natbr0] , 否则虚拟机则无法上网和进行端口转发
8、OVZ NAT的设置
除以上操作外,还需如下操作。
修改宿主机 /etc/modprobe.d/openvz.conf 的文件内容
#原文件内容
options nf_conntrack ip_conntrack_disable_ve0=1
#修改后的内容 (将1改为0)
options nf_conntrack ip_conntrack_disable_ve0=0
修改完成后请重启宿主机 , 如执行 iptables -t nat -L 不出现 can’t initialize iptables table `nat’: Table does not exist (do you need to insmod?) 说明开启成功
9、定时刷新端口
crontab -e
添加
*/5 * * * * sudo php -q /root/nat/client.php
*/5 * * * * sudo php -q /root/natdomain/client.php
这个是5分钟刷新一次。
转自:https://docs.weloveidc.com/knowledge-base/%E8%AE%BE%E7%BD%AEkvm-nat%E8%8A%82%E7%82%B9、https://docs.weloveidc.com/knowledge-base/%E8%AE%BE%E7%BD%AEnat%E8%8A%82%E7%82%B9%E7%BD%91%E7%BB%9C-openvz