教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> IT计算机> Web服务> 如何配置无公网IP地址的云主机访问Internet

如何配置无公网IP地址的云主机访问Internet

上传者:刘卫军
|
上传时间:2016-09-08
|
次下载

如何配置无公网IP地址的云主机访问Internet

抛开云主机环境来说,通常一个办公网络内所有的主机都没有公网IP地址,但他们都能通过具有IP地址的路由器(网关)设备访问Internet,此设备只需要具备NAT和转发功能即可。具有这样功能的设备当然可以用某台计算机代替。

下面是一个最简单的模型:

主机A(服务端):

网卡1:内网IP地址1

网卡2:公网IP地址3或者能访问Internet的某个IP地址3

主机B(客户端):

网卡1:内网IP地址2

主机B想通过主机A访问Internet,只需要主机B指定主机A为网关,主机A能够将来自主机B的包伪装成主机A上的网卡2上的IP即可(sNAT)。

因此云主机环境也是一样,只要保证两个云主机间内网是连通的,另一台云主机能访问Internet即可。如果某两个云主机内网不通,但可以通过vpn连通,也可以实现。

(一)下面是两个主机间通过内网IP直接连接模拟访问Internet的例子。

主机A(服务端):

网卡1:10.20.0.128(eth0,无Internet访问)

网卡2:192.168.1.52(eth1,Internet访问)

主机B(客户端):

网卡1:10.20.0.129(eth0,无Internet访问)

主机A操作:

开启iptables转发功能:

1

2

3

sysctl -w net.ipv4.conf.default.accept_source_route=1  

sysctl -w net.ipv4.conf.default.rp_filter=0   

sysctl -w net.ipv4.ip_forward=1

配置iptables NAT规则:

1

2

modprobe iptable_nat  

iptables -t nat -A POSTROUTING -s 10.20.0.0/24 -o eth1 -j MASQUERADE

删除iptables拒绝转发规则:

1

iptables -D FORWARD -j REJECT --reject-with icmp-host-prohibited

主机B操作:

将默认网关配置成主机A的网卡1地址:

1

2

route add -host 10.20.0.128/32 dev eth0  

route add default gw 10.20.0.128 dev eth0

(二)下面是两个主机间通过OpenVPN连接模拟访问Internet的例子。

主机A(服务端,CentOS6.x):

网卡1:10.20.0.128(eth0,无Internet访问)

网卡2:192.168.1.52(eth1,Internet访问)

主机B(客户端,CentOS6.x):

网卡1:10.20.0.129(eth0,无Internet访问)

主机A操作:

安装OpenVPN(安装OpenVPN也可以参考《CentOS6.7安装OpenVPN服务端》):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 

yum -y install openssl openvpn 

cd /etc/openvpn 

git clone https://github.com/OpenVPN/easy-rsa.git 

cd /etc/openvpn/easy-rsa/ 

git checkout -b v2.2.1 

cp -r easy-rsa/2.0 /etc/openvpn/easy-rsa/ 

cd /etc/openvpn/easy-rsa/2.0/ 

vim im vars

export EASY_RSA="`pwd`" 

export OPENSSL="openssl" 

export PKCS11TOOL="pkcs11-tool" 

export GREP="grep" 

export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA` 

export KEY_DIR="$EASY_RSA/keys" 

echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR 

export PKCS11_MODULE_PATH="dummy"

export PKCS11_PIN="dummy" 

export KEY_SIZE=2048 

export CA_EXPIRE=3650 

export KEY_EXPIRE=3650 

export KEY_COUNTRY="CN" 

export KEY_PROVINCE="Shandong" 

export KEY_CITY="QingDao" 

export KEY_ORG="51devops" 

export KEY_EMAIL="uberurey_ups@163.com" 

export KEY_OU="Ops" 

export KEY_NAME="51devops"

生成OpenVPN 证书以及key:

1

2

3

4

5

6

7

8

source vars 

./clean-all 

./pkitool --initca 

./pkitool --server node1.51devops.com 

./build-dh 

# ./build-key node1.51devops.com 

./build-key node2.51devops.com

chmod 400 /etc/openvpn/easy-rsa/2.0/keys/node1.51devops.com.key

编写一个OpenVPN Server端的配置文件:

vim /etc/openvpn/server.conf

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

port 1194 

proto tcp 

dev tun 

ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt 

cert /etc/openvpn/easy-rsa/2.0/keys/node1.51devops.com.crt 

key /etc/openvpn/easy-rsa/2.0/keys/node1.51devops.com.key 

dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem 

server 10.8.0.0 255.255.255.0 

ifconfig-pool-persist clientiplist.txt 

client-to-client 

duplicate-cn   

keepalive 10 120 

comp-lzo 

persist-key 

persist-tun 

status /var/log/openvpn-status.log 

log /var/log/openvpn.log 

log-append  /var/log/openvpn.log 

verb 3

启动OpenVPN并配置iptables:

1

2

3

4

5

6

7

8

9

service openvpn start 

service openvpn status 

ifconfig tun0 

cat /var/log/openvpn.log 

cat /var/log/openvpn-status.log 

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 1194 -j ACCEPT 

# iptables -I INPUT -m state --state NEW -m udp -p udp --dport 1194 -j ACCEPT 

iptables-save || service iptables status 

service iptables save

编辑内核参数,启用转发功能:

1

2

3

4

vim /etc/sysctl.conf 

net.ipv4.conf.default.accept_source_route = 1 

net.ipv4.conf.default.rp_filter = 0 

net.ipv4.ip_forward = 1

或者:

1

2

3

sysctl -w net.ipv4.conf.default.accept_source_route=1 

sysctl -w net.ipv4.conf.default.rp_filter=0 

sysctl -w net.ipv4.ip_forward=1

配置iptables,配置sNAT和FORWARD规则:

1

2

3

4

modprobe iptable_nat 

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE 

iptables -D FORWARD -j REJECT --reject-with icmp-host-prohibited 

service iptables save || iptables-save > /etc/sysconfig/iptables

tips:也可以清空iptables所有配置,再添加允许规则,这样可以避开一些reject规则。

可以通过iptables -t nat -nL -v命令查看nat表状态。

1

iptables -t nat -A POSTROUTING -s 10.20.0.0/24 -o eth1 -j MASQUERADE

配置主机B(客户端)

安装OpenVPN客户端:

1

2

yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 

yum -y install openssl openvpn

编辑OpenVPN Client配置文件:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

vim /etc/openvpn/client.conf 

client 

dev tun 

port 1194 

proto tcp 

remote 10.20.0.128 1194 

resolv-retry infinite 

nobind 

persist-tun 

ca /etc/openvpn/ca.crt 

cert /etc/openvpn/node2.51devops.com.crt 

key /etc/openvpn/node2.51devops.com.key 

remote-cert-tls server 

script-security 3 

ns-cert-type server 

comp-lzo adaptive 

verb 3 

mute 20

缩小证书文件的权限,只允许当前用户访问,不允许组内其他用户和其他组访问

1

2

chmod 400 /etc/openvpn/node2.51devops.com.key

service openvpn restart

配置路由:

1

2

route add -host 10.8.0.1/32 dev tun0 

route add default gw 10.8.0.1 dev tun0

测试连接:

1

2

ping -c4 10.8.0.1

ping -c4 114.114.114.114

OpenVPN连接前需要注意证书一定配置正确,时间同步,软件版本最好保持一致、OpenSSL软件包升级到最新版本。

tag:Linux网络,OpenVPN配置,iptables sNAT

 

本文出自 “通信,我的最爱” 博客,http://dgd2010.blog.51cto.com/1539422/1812745

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注

2018吉林省考行测题库:行测每日一练言语理解练习题11.22
2018吉林省考行测题库:行测每日一练数量关系练习题答案11.24
2018吉林省考行测题库:行测每日一练判断推理练习题11.10
2018吉林公务员面试模拟题:如何召集100名志愿者
2018吉林省考面试题库:面试试每日一练结构化面试模拟题11.21
2018吉林省考行测题库:行测每日一练判断推理练习题答案11.16
2018吉林省考行测题库:行测每日一练言语理解练习题11.20
2018吉林公务员考试公安基础知识:社会治安综合治理的六大任务
2018吉林省考行测题库:行测每日一练判断推理练习题11.14
2018吉林公务员考试行测人文常识模拟题(3)
2018吉林省考行测题库:行测每日一练数量关系练习题11.28
2018吉林省考行测题库:行测每日一练言语理解练习题答案11.22
2018吉林省考行测题库:行测每日一练数量关系练习题答案11.28
2018吉林省考行测题库:行测每日一练判断推理练习题11.23
2018吉林公务员考试公安基础知识模拟题
2018吉林省考行测题库:行测每日一练判断推理练习题答案11.21
2018吉林省考行测题库:行测每日一练判断推理练习题11.16
2018吉林省考行测题库:行测每日一练言语理解练习题答案11.20
2018吉林公务员考试公安基础知识:公安执法监督的概念
2018吉林省考行测题库:行测每日一练判断推理练习题答案11.27
2018吉林省考行测题库:行测每日一练资料分析练习题11.08
2018吉林公务员面试模拟题:把道德修养当做人生必修课
2018吉林省考行测题库:行测每日一练资料分析练习题答案11.09
2018吉林省考行测题库:行测每日一练资料分析练习题答案11.08
2018吉林省考行测题库:行测每日一练判断推理练习题答案11.14
2018吉林省考行测题库:行测每日一练资料分析练习题11.09
2018吉林省考行测题库:行测每日一练数量关系练习题11.24
2018吉林公务员考试公安基础知识:公安机关的形成
国考公安岗公安基础之公安机关的建立与发展
2018吉林省考行测题库:行测每日一练资料分析练习题答案11.07

网友关注视频

【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
外研版英语三起5年级下册(14版)Module3 Unit1
沪教版牛津小学英语(深圳用) 四年级下册 Unit 3
七年级英语下册 上海牛津版 Unit5
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
冀教版英语三年级下册第二课
外研版八年级英语下学期 Module3
外研版英语三起6年级下册(14版)Module3 Unit2
30.3 由不共线三点的坐标确定二次函数_第一课时(市一等奖)(冀教版九年级下册)_T144342
8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
沪教版八年级下册数学练习册21.4(1)无理方程P18
3.2 数学二年级下册第二单元 表内除法(一)整理和复习 李菲菲
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
冀教版英语五年级下册第二课课程解读
沪教版牛津小学英语(深圳用) 四年级下册 Unit 4
苏科版数学 八年级下册 第八章第二节 可能性的大小
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,湖北省
冀教版小学数学二年级下册第二单元《有余数除法的简单应用》
北师大版数学四年级下册3.4包装
精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
人教版二年级下册数学
3月2日小学二年级数学下册(数一数)
沪教版牛津小学英语(深圳用)五年级下册 Unit 1
沪教版牛津小学英语(深圳用) 五年级下册 Unit 7
沪教版八年级下册数学练习册21.3(3)分式方程P17
北师大版数学四年级下册第三单元第四节街心广场
北师大版数学 四年级下册 第三单元 第二节 小数点搬家
沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
沪教版牛津小学英语(深圳用) 四年级下册 Unit 8