备忘之 拷贝构造函数

为方便叙述,将外网PC(win7系统)简称为主机W,将PC(Linux系统)简称为主机L。

两个主机的基本网络环境描述如下。

a. 主机L是家庭PC,通过路由器接入到网络运营商的网关,进而连接互联网。路由器无固定外网IP,路由器外网IP变化时,需在主机W处更改远程连接目标的IP地址。

b. 主机W连接在公司局域网,可通过公司网关连接到互联网。

以下为实现过程的描述。

1. 配置主机L

(1)通过浏览器访问路由器网络设置管理页面。笔者使用的路由器型号为iPtime N604A,在浏览器地址栏输入192.168.1.1并进入后,点击页面上的“管理工具”进入网络管理页面。在内网网络信息中找到内网可使用IP的范围。

(2)固定主机L的内网地址。在shell终端输入

vi /etc/sysconfig/network-scripts/ifcfg-eth0

命令(注1:需要root权限;注2:如果使用eth1或其它通道上网,应将ifcfg-eth0替换为ifcfg-eth1或其它相应文件),打开文件后,添加一行

IPADDR=192.168.1.X

并保存(注3:X需包含在步骤(1)所查看道的IP范围中)。

(3)确认主机L已安装并运行SSH服务。本步骤比较简单,可参考网络。

(4)出于安全原因,将主机L的SSH连接开放到互联网之前,应修改SSH默认连接端口,或限制可访问IP。(本文只讨论前者,更改为端口2028,后者更安全,可参考网络)

(4-1)在shell终端输入

vi /etc/sysconfig/iptables

(需要root权限),打开文件后,为防火墙增加新端口2028,红色字体部分为新增内容。

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2028 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

保存文件并退出编辑后,重启防火墙,使配置生效,在shell终端依次输入并执行

/etc/init.d/iptables restart

service iptables restart

命令(需要root权限)。

(4-2)更改SSH的连接端口。

更改前最好备份源文件。在shell终端依次输入并执行

cp /etc/ssh/ssh_config   /etc/ssh/ssh_configbak

cp /etc/ssh/sshd_config  /etc/ssh/sshd_configbak

命令。然后修改ssh端口为2028。在shell终端输入

vi /etc/ssh/sshd_config

打开配置文件,在 #Port 22 这一行下面添加一行 Port 2028 后保存退出。在shell终端输入

vi /etc/ssh/ssh_config

打开配置文件,在 #Port 22 这一行下面添加一行 Port 2028 后保存退出。

重启SSH服务使修改生效,在shell终端依次输入并执行

/etc/init.d/sshd restart

service sshd restart

命令(需要root权限)。

(5)回到步骤(1)所打开的页面,在高级设置里打开NAT管理页面,为主机L添加IP和端口映射规则。

内部IP 设置为步骤(2)中固定的内网IP。

外部Port 设置为 6050-6050 (也可以设置为其它端口号,将来在主机W上通过这个端口号进行远程连接。

内部Port 设置为 2028-2028 (即步骤(4)中设定的端口号)

传输协议 选择为 TCP。

(6)在步骤(1)所打开的页面找到路由器的外部IP地址。

至此主机L端配置完成,但安全性较低,请参考网络上的方法,增加访问安全性。

2. 主机W远程连接

利用提供SSH连接方式的客户端例如xShell和putty建立SSH连接,HOST地址为1-(6)得到的IP地址,端口号为1-(5)设定的外部Port号,然后就可以连接道主机L了。就是这么简单。

转载请注明出处及作者,谢谢。

备忘之 拷贝构造函数

时间: 2024-10-04 01:16:24

备忘之 拷贝构造函数的相关文章

拷贝构造函数和赋值操作符

假设有一个如下的MyClass类: class MyClass { public: //构造函数 //拷贝构造函数 MyClass(const MyClass& that) : int_data_(that.int_data_), dbl_data_(that.dbl_data_), str_data_(that.str_data_) { } //赋值操作符 MyClass& operator = (const MyClass& that) { if(this != that) {

linux下常用命令备忘

转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删除退格键,按住CTL键同时按delete Linux搜索 # find / -name "xxx.conf" 查看linux是32位还是64位的命令 #file /sbin/init #getconf LONG_BIT #getconf -a 在Linux和Windows下都可以用nslo

深度解析C++拷贝构造函数

自2003年开始,断断续续用了12年C++,直到这两年做物联网嵌入式开发,感觉对C++的掌握仅有10%左右.习惯了C#开发,C++倒显得难以下手!今天就一个函数返回问题跟辉月兄弟讨论一番,大有所获,足以解决我们目前80%的问题,感觉对C++的掌握上升到了20%. 背景,现有字节数组ByteArray和字符串String,(不要激动,单片机嵌入式C++很难用起来标准类库)我们需要实现函数String& ByteArray::ToHex()其实这是我们在C#上非常常用的函数,把一个字节数组转为字符串

Objective-C教程备忘单

终极版本的Objective-C教程备忘单帮助你进行iOS开发. 想开始创建你的第一个iOS应用程序么?那么看一下这篇很棒的教程吧:Create your first iOS 7 Hello World Application 注:这篇文章我写了三天,可能在一些必要的地方使用了编辑和说明,所以如果有任何疑问和修改建议请在下方评论. 这不是一个初学者指南,也不是关于Objective-C的详细讨论,这是关于常见的和高水平的论题的快速索引. 如果这里有些问题没有涉及到,你也可以查阅以下文章: Obj

【编程题】编写String类的构造函数、拷贝构造函数、析构函数和赋值函数

[编程题]编写String类的构造函数.拷贝构造函数.析构函数和赋值函数 [题目]:请编写如下4个函数 1 class String 2 { 3 public: 4 String(const char *str = NULL);// 普通构造函数 5 String(const String &other); // 拷贝构造函数 6 ~ String(void); // 析构函数 7 String & operate =(const String &other);// 赋值函数 8

Zookeeper + Hadoop + Hbase部署备忘

网上类似的文章很多,本文只是记录下来备忘.本文分四大步骤: 准备工作.安装zookeeper.安装hadoop.安装hbase,下面分别详细介绍: 一.准备工作 1. 下载 zookeeper.hadoop.hbase三个压缩包并放入/home/servers目录并解压 2. 安装JDK (略) 3. 统一集群计算机名 本次用于测试一共5台,分别命名为release-master,slave1,slave2,slave3,slave4(可使用hostname slave1类似的命令临时修改) 4

(备忘)vs2010编写动态链接库时导出函数的函数名问题及加载方式

在vs2010中使用.def文件导出函数时,仅仅添加.def文件是不够的,还要在 项目属性 -> 链接器 -> 输入 -> 模块定义文件 中添加自定义的.def文件名. (前提:导入导出都在头文件和源文件中定义好了) ##:静态加载动态链接库 将链接库的 头文件..lib文件 和 .dll 文件拷贝到工程目录下 然后#include 头文件,#pragma comment(lib,"**.lib") 最后直接在需要使用dll函数的地方使用函数就行 ##:动态加载动态链

验证码常用函数备忘

颜色聚类 1 public static class KmeansColor 2 { 3 /* 4 * 聚类函数主体. 5 * 针对一维 double 数组.指定聚类数目 k. 6 * 将数据聚成 k 类. 7 */ 8 public static Color[][] cluster(Color[] p, int k) 9 { 10 int intRunCount = 0; 11 start: 12 intRunCount++; 13 // 存放聚类旧的聚类中心 14 Color[] c = n

Sphinx 配置文件的说明【备忘】

## 数据源src1 source src1 { ## 说明数据源的类型.数据源的类型可以是:mysql,pgsql,mssql,xmlpipe,odbc,python ## 有人会奇怪,python是一种语言怎么可以成为数据源呢? ## python作为一种语言,可以操作任意其他的数据来源来获取数据,更多数据请看:(http://www.coreseek.cn/products-install/python/) type = mysql ## 下面是sql数据库特有的端口,用户名,密码,数据库