访问外网的配置

服务器1命令行中使用:

1
setproxy

就可以通过代理服务器1的服务器1的端口访问外网。

NAT的方法(目前不用,仅作参考)

服务器1可以上外网;服务器2不能上外网,但是在内网与服务器1互通;下面的操作是用iptables在服务器1上对服务器2搭建一个NAT; 并且修改服务器2的默认路由,达到服务器2访问外网的目的;

服务器1

1
iptables -t nat -A POSTROUTING -s 服务器2 -j MASQUERADE

查看iptables:

1
sudo iptables -t nat -L

带检索的查看iptables:

1
sudo iptables -t nat -L POSTROUTING --line-numbers

删除刚刚操作之后的表项:(请根据查询的编号决定是不是1)

1
sudo iptables -t nat -D POSTROUTING 1

服务器2

查看路由

1
route -n

增加默认路由:(这个操作可能会让ssh连接断掉)

1
sudo route add default gw 服务器1

删除路由:

1
sudo route del default gw 服务器1

具体实现流程:

A表示服务器1;B表示服务器2

首先用在A上iptables -t nat -A POSTROUTING -s B的地址 -j MASQUERADE;然后SSH连接B;B上用sudo route add default gw A的地址;此时SSH 会连接B失败;然后从A上用SSH连接B;此时连接的B可以通过A的NAT访问外网然后安装v2ray;然后删除路由;退出之后在A上删除刚刚的iptables表项

iptables那步的作用是搭建了A对于B开启了nat服务;B通过修改路由把数据包转发到A上,进而访问外网;

上面的方法也是一种上网方法;只不过不是很方便

配置完之后通过v2ray访问外网;

实现流程的反思

实际上可能不需要那么复杂。在能出外网的服务器1上面安装v2ray,更改配置文件保证http,socks5的代理就行了;不能连接外网的服务器通过export ALL_PROXY=socks5://服务器1的地址:端口;就可以出去了

v2ray(目前使用)

安装

通过来自https://github.com/v2fly/fhs-install-v2ray的脚本安装;

v2ray启用:

1
sudo systemctl enable v2ray

v2ray打开:

1
sudo systemctl start v2ray

v2ray关闭:

1
sudo systemctl stop v2ray

每次修改完配置文件之后需要重启

服务器1

配置文件

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
"log": {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"inbounds": [
{
"port": 端口号,
"protocol": "http",
"settings": {}
},
{
"port": 端口号,
"protocol": "socks",
"settings": {}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {},
"tag": "direct"
}
],
"routing": {
"domainStrategy": "IPOnDemand",
"rules": [
{
"type": "field",
"outboundTag": "direct",
"domain": ["geosite:cn"]
},
{
"type": "field",
"outboundTag": "direct",
"ip": [
"geoip:cn",
"geoip:private"
]
}
]
}
}

上述配置文件实现了socks5和http的代理;

服务器2

我在.bashrc里面最后添加了:

1
alias setproxy="export ALL_PROXY=socks5://服务器1:端口号;echo 'You can use 'unset ALL_PROXY' to unset it '"

使用setproxy即可通过服务器1访问外网;通过unset ALL_PROXY来修改回默认设置;

于此同时该服务器也安装了v2ray;有需求的同学可以自行配置;

使用

1
wget www.baidu.com

来进行连通性的测试;(不知道什么原因ping不通baidu)

参考网站

https://www.v2ray.com/

https://segmentfault.com/a/1190000039686752

https://blog.csdn.net/yelllowcong/article/details/75949296