网络需求:
现在有一台机器A ip:192.168.2.167
通过跳板机B ip:网卡1(外部)192.168.2.100 网卡2(内部) 192.168.4.100
访问内网服务器C ip 192.168.4.10
配置跳板机为网关(全流量转发)
将跳板机配置为网关,本地所有流量通过跳板机进入内网。
适用场景:需要像局域网一样直接访问所有内网IP和端口(如Ping、RDP、MySQL等)。
操作步骤
1. 在跳板机上启用IP转发和NAT
bash
# 启用IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
# 添加NAT规则(假设外部网卡为eth0,内部为eth1)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
2. 在本地机器上添加路由
bash
# Linux/Mac
sudo route add -net 192.168.4.0/24 gw 192.168.2.100
# Windows
route add 192.168.4.0 mask 255.255.255.0 192.168.2.100
3、检查内网主机的默认网关
确保 192.168.4.10
的网关指向跳板机的内网IP(192.168.4.100
)
# linux
ip route show
# 输出包含
default via 192.168.4.4 dev eth0
# windows
ipconfig /all
route print -4
4. 直接访问内网服务
bash
ping 192.168.4.10 # 测试连通性
curl http://192.168.4.10:8080 # 直接访问服务
优点:全网络透明访问,无需逐条配置。
缺点:需跳板机root权限,且本地需与跳板机同一网络(或通过VPN)。