如何配置无公网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
精品推荐
- 2016-2017学年高一语文人教版必修一+模块学业水平检测试题(含答案)
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
分类导航
- 互联网
- 电脑基础知识
- 计算机软件及应用
- 计算机硬件及网络
- 计算机应用/办公自动化
- .NET
- 数据结构与算法
- Java
- SEO
- C/C++资料
- linux/Unix相关
- 手机开发
- UML理论/建模
- 并行计算/云计算
- 嵌入式开发
- windows相关
- 软件工程
- 管理信息系统
- 开发文档
- 图形图像
- 网络与通信
- 网络信息安全
- 电子支付
- Labview
- matlab
- 网络资源
- Python
- Delphi/Perl
- 评测
- Flash/Flex
- CSS/Script
- 计算机原理
- PHP资料
- 数据挖掘与模式识别
- Web服务
- 数据库
- Visual Basic
- 电子商务
- 服务器
- 搜索引擎优化
- 存储
- 架构
- 行业软件
- 人工智能
- 计算机辅助设计
- 多媒体
- 软件测试
- 计算机硬件与维护
- 网站策划/UE
- 网页设计/UI
- 网吧管理