有许多具有互联网接入的设备,但它们都在局域网上,没有公开的IP。随着时间的推移,将增加更多的设备。
我需要能够按需与每个设备进行通信(度量、诊断、更新、.)。我不需要或想要完全的根访问。
我知道如果我在另一端有一个公共IP主机,我可以创建一个SSH隧道。然而,我担心这样一个公共主机太大的攻击媒介。
我认为使用公共IP计算机仅仅是一个汇合点是可行的。
这项计划可以这样运作:
dev1 - device I need to access, no public IP, has dev2's public key
dev2 - my computer, no public IP, has de
我正在使用实用程序穿梭在我的电脑上访问互联网。
sudo sshuttle --dns -vr user@172.16.30.30 0/0
我有一个简单的java客户端服务器程序。
客户端(我的计算机运行穿梭)
// client ip is 172.16.23.6
class client {
public static void main(String args[]) {
Socket s = new Socket("172.16.30.20",port); // different server
}
}
服务器程序,运行在172.16.30.20上
我有一个Cisco MMS891 ISR作为我的边缘路由器,有几个静态NAT条目,这些条目设置为NAT我的LAN地址(静态分配给打印机),以访问我的用户打印的外部托管应用程序。
下面是一个示例,说明我的局域网是如何到达外部网络的(最后6行是我的打印机NAT规则的开始,IP信息未识别):
ip nat pool ASP 10.x.x.2 10.x.x.255 netmask 255.255.255.0 type match-host
ip nat inside source route-map abs pool ASP
ip nat inside source route-map nat int