网络配置文档

提示词

有一个andorid有两个网口,一个网口是A局域网,一个是B局域网。A 的地址是 192.168.3.3,名字叫 A地址,B 地址是 192.168.9.57, 名字叫 B 地址, 如何实现A局域网下的有一个设备能直接访问B局域网的 一个设备,比如192.168.9.4这是 C 设备,他是是B的局域网内的. 要从192.168.3.33 的 D 设备,D 设备是 MAC 设备,是 A 局域网的。A 局域网的 D需要访问到 B 局域网中的 192.168.9.4的设备 C,如何配置

开启 iptables

  # 查看当前状态
cat /proc/sys/net/ipv4/ip_forward

# 启用 IP 转发(需要 root)
echo 1 > /proc/sys/net/ipv4/ip_forward

# 禁用 IP 转发
echo 0 > /proc/sys/net/ipv4/ip_forward

查看网卡信息

ip link

ip addr show eth0 # 查看 eth0 网卡信息
ip addr show eth1 # 查看 eth1 网卡信息

设置静态路由

ip route add 192.168.3.0/24 dev eth1
ip route add 192.168.9.0/24 dev eth0

开启路由

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -d 192.168.9.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.3.0/24 -d 192.168.9.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.3.0/24 -s 192.168.9.0/24 -j ACCEPT

# 删除配置
# 删除 NAT 表中的 MASQUERADE 规则
iptables -t nat -D POSTROUTING -s 192.168.3.0/24 -d 192.168.9.0/24 -j MASQUERADE

# 删除 FORWARD 链中的规则
iptables -D FORWARD -s 192.168.3.0/24 -d 192.168.9.0/24 -j ACCEPT
iptables -D FORWARD -d 192.168.3.0/24 -s 192.168.9.0/24 -j ACCEPT

本地 mac 192.168.3.33

sudo route -n add 192.168.9.0/24 192.168.3.3

# 验证路由是否添加成功
netstat -nr | grep 192.168.3

## 添加失败就先删除
sudo route -n delete 192.168.3.0/24

# 删除 Mac 上添加的路由
sudo route -n delete 192.168.9.0/24 192.168.3.3

ping 192.168.9.4