admin

KS3C使用Proxmox5开nat小鸡仔
面对online的两波骚操作实在受不了,这可能是史上最无耻的商家,上个月6.99欧涨价到11.99欧,这个月涨价到...
扫描右侧二维码阅读全文
30
2018/09

KS3C使用Proxmox5开nat小鸡仔

面对online的两波骚操作实在受不了,这可能是史上最无耻的商家,上个月6.99欧涨价到11.99欧,这个月涨价到15.99欧。这次所有机型涨价,两次涨幅均大于75%,传家宝一夜变成烫手山芋。法国佬咋不上天呢→_→ 好气...(ó﹏ò。)

只能去抱ovh大腿了,闲置了一年的ks3c高配终于从吃灰角落拿出来用了。

由于proxmox更新了debian版本支持直接开启bbr算法所以我就选5版本了。

大爱我ovh,多年始终如一
645.png

下面来说说开nat小鸡仔,并且如何让nat规则实时生效?

我在使用proxmox5的过程中发现,我重启网卡一直失败重启机器才会生效,这个忽略吧。
root@ks3c:/usr/local/sbin# /etc/init.d/networking restart
[....] Restarting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code.
See "systemctl status networking.service" and "journalctl -xe" for details.
failed!

之前看过几遍loc的教程都是把转发规则写interfaces里,/etc/network/interfaces每次改完配置或者转发规则都要重启机器。其实只要把iptables部分单独拿出来就好了,写死在里面就是自己找麻烦。

1.
装好proxmox后会收到一个邮件,里面是你登录https://ip:8006/的方式,默认登录密码和服务器登录的root密码一致。
登录后新建一个桥接网卡,因为公网ip只有一个,这里配置一个内网地址段供虚拟机使用,网关是vmbr1,增加以下内容即可:
vim /etc/network/interfaces

auto vmbr1
iface vmbr1 inet static
        address  172.16.10.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 echo 1 > /proc/sys/net/ipv4/conf/vmbr1/proxy_arp

增加完毕之后,重启服务器:reboot。

2.
编写转发规则脚本:
root@ks3c:~# cat nat.sh

#!/bin/sh
iptables -F
iptables -X
iptables -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z

iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t filter -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp -m state --state NEW --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp -m state --state NEW --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp -m tcp --dport 25 -j DROP
iptables -t filter -A INPUT -p tcp -m tcp --dport 143 -j DROP
iptables -t filter -A INPUT -p tcp -m tcp --dport 53 -j DROP
iptables -t filter -A INPUT -p udp -m udp --dport 53 -j DROP

iptables -A FORWARD -i vmbr0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o vmbr0 -j ACCEPT

iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -o vmbr0 -m comment --comment "Proxmox5" -j MASQUERADE

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 2223 -m comment --comment "SSH" -j DNAT --to 172.16.10.10:22
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 21 -m comment --comment "FTP" -j DNAT --to 172.16.10.10:21
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 30000:50000 -m comment --comment "PassivePortRange" -j DNAT --to 172.16.10.10

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 3389 -m comment --comment "RDP" -j DNAT --to 172.16.10.250:3389
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8888 -m comment --comment "utorrent gui" -j DNAT --to 172.16.10.250:8888
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 9999 -m comment --comment "utorrent inbound" -j DNAT --to 172.16.10.250:9999
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -m comment --comment "Alt HTTP" -j DNAT --to 172.16.10.250:80

# turn on MSS fix
# MSS = MTU - TCP header - IP header
iptables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

3.
上面的脚本给172.16.10.10(linux)和172.16.10.250(windows)两台主机配置了转发规则,下面只要创建两台虚拟机并配置好ip就可以使用了。

创建的时候,记得网卡选择vmbr1,然后按照centos安装方法把系统装好,并配置上ip:172.16.10.10,网关:172.16.10.254,掩码:255.255.255.0.
701.png
223.png

配置完毕之后,重启网卡,然后ping一下8.8.8.8发现不通,因为iptables转发脚本还没有执行,在宿主机执行一下sh /root/nat.sh,然后再来看看。
423.png
504.png

4.
新建的小鸡仔已经有网了,再来试试nat规则是否生效。
ssh 宿主机ip -p2223 看看能否远程登录到nat小鸡上。
126.png

成功登录。nat转发脚本如果需要增加新的规则,直接修改再次执行即可。

Last modification:October 11th, 2018 at 06:09 pm
If you think my article is useful to you, please feel free to appreciate

One comment

  1. 李子

    回复测试

Leave a Comment