跳板机(树莓派)端口-IP映射更改
以下所有操作由管理员完成
- 管理员用户登录跳板机
ssh 101.6.68.232 -p 50022 -l yuhui
sudo su
- 查看iptables条目和编号
sudo iptables -t nat -nL --line-numbers
样例输出:(以 2023.08.21 iptables 条目为例)
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:9901 to:101.6.70.52:3000
2 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:9902 to:101.6.70.52:22
3 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2338 to:101.6.69.200:50022
4 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2335 to:101.6.69.7:50022
5 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2339 to:101.6.70.31:50022
6 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2333 to:101.6.69.135:50022
7 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2334 to:101.6.69.231:50022
8 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2336 to:101.6.69.98:50022
9 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2337 to:101.6.69.91:50022
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
- 确定IP有变动的机器对应的iptables条目编号,删除原始转发条目,并添加新转发条目。
sudo iptables -t nat -D PREROUTING <ITEM_NUM>
sudo iptables -t nat -A PREROUTING -p tcp -i eth0 --dport <PORT> -j DNAT --to <NEW_IP>:<SSH_PORT>
以NGN-LLM为例,原IP为101.6.68.208、ssh监听端口<SSH_PORT>
为50022,原跳板机转发端口<PORT>
为2345,对应的iptables条目编号<ITEM_NUM>
为11。新IP为101.6.69.50,则需要执行的命令为:
sudo iptables -t nat -D PREROUTING 3
sudo iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 2334 -j DNAT --to 101.6.69.145:50022
- 保存iptables,下次断电重启时自动加载
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
- 退出跳板机登录,本地测试新转发规则是否生效,以NGN-LLM为例:
ssh 101.6.68.232 -l <USER_NAME> -p 2345
- 添加新端口重启翻火墙
sudo ufw allow 2335 sudo ufw reload