A. linux使用autossh實現開機自啟動埠映射
1.在遠程伺服器上創建一個用於ssh連接的用戶(ussh不需要登錄許可權)
2.登錄剛剛創建的用戶
3.生成ussh的秘鑰:
確認秘鑰是否已存在:
如果不存在,手動生成(回車三次):
4.把公鑰添加到authorized_keys
5.重啟ssh服務
6.復制秘鑰到客戶端伺服器,並設置許可權(這里使用scp復制,也可以用其他方法)
7.修改秘鑰許可權
8.在客戶端伺服器使用秘鑰測試是否可以免密登錄(如果不可以,請檢查4,5,6步驟,如果可以登錄則繼續下一步)
9.出於安全考慮,需要取消遠程伺服器上的ussh賬戶的登錄許可權(root 賬號下執行修改)
重啟ssh服務:
10.在客戶端伺服器新建文件並
輸入以下內容:(關於linux自定義系統服務的說明參考: https://www.jianshu.com/p/57aa4b66999c )
其中第六行為autossh映射指令,指令中10764為進程號,10768為本機80埠所映射遠程伺服器上的埠,這些映射的埠號需要自己設定,並且需要注意新的埠在遠程伺服器上是否已被佔用,linux查看埠佔用的指令netstat -nap | grep port,remote_ip是遠程伺服器ip
11.修改文件許可權為664:
12.使服務生效(會開機自啟動):
13.修改後重載服務:
14.手動啟動服務
B. LINUX伺服器的埠映射
LINUX伺服器的埠映射
我在公司里的一台電腦上做了一個ftp 在內網都可以訪問,上網是通過一台LINUX伺服器,是實IP!我需要在外面也能訪問這個FTP!.現在怎麼在LINUX伺服器上配置埠映射?需要改那些地方. 我對這個知道的很少!所以大家能否從登陸進去以後所有的操作都詳細講一下!
網上肯定能找到答案的,只是你沒找到或不細心。照我說的做吧,我盡量解釋清楚。
/etc/init.d/iptables start 啟動iptables
初始化iptables,刪除之前的規則,
iptables -f
iptables -x
iptables -z
iptables -f -t nat
iptables -x -t nat
iptables -z -t nat
允許ssh進入,要不然等下就連不上去了
iptables -a input -p tcp --dport 22 -j accept
設置默認出入站的規則
iptables -p input drop
iptables -p output accept
iptables -p forward accept
iptables -a input -i lo -j accept
iptables -a input -m state --state established,related -j accept
載入相應的模塊
modprobe ip_tables
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
配置默認的轉發規則
iptables -t nat -p prerouting accept
iptables -t nat -p postrouting accept
iptables -t nat -p output accept
允許內網連接
iptables -a input -i 內網網卡名(比如eth1) -j accept
啟用轉發功能
echo "1" > /proc/sys/net/ipv4/ip_forward
配置源nat,允許內網通過主機nat上網,即所謂的網路共享
iptables -t nat -a postrouting -s 內網網卡名 -o 外網網卡名 -j masquerade
把ftp伺服器映射到外網
iptables -t nat -a prerouting -p tcp -d 58.222.1.3 --dport 21 -j dnat --to 192.168.0.211:21
結束,別忘了保存
service iptables save
192.168.0.211的網關應該設成這成主機192.168.0.1。這樣就行了。
C. 在linux上做埠映射
#假設你的內網ip為 192.168.1.22外網202.102.99.99
修改/etc/sysconfig/iptables添加
-A PREROUTING -d 202.102.99.99 -p tcp --dport 8085 -j DNAT --to-destination 192.168.1.22:8085
-A POSTROUTING -d 192.168.1.22 -p tcp --dport 8085 -j SNAT --to 202.102.99.99