iptables -t nat -A POSTROUTING -s 172.28.225.0/24 -o wlan0 -j MASQUERADE
让172.28.225.0/24这个网段的设备,通过本机 wlan0 网卡上网(共享 wlan0 的网络)。适合 wlan0 是 DHCP 获取 IP(IP 会变)的场景;如果 wlan0 是固定公网 IP,推荐用SNAT代替 MASQUERADE,性能更好。
#tbox测配置 ivi的eth1 ip route add 192.168.82.0/24 via 172.28.225.10 # windows 配置 ivi 的 wlan0 route ADD 172.28.225.0/24 192.168.82.129 # 3. 对车内网络进行MASQUERADE(NAT) echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 172.28.225.0/24 -o wlan0 -j MASQUERADE iptables -A FORWARD -i eth1 -o wlan0 -j ACCEPT iptables -A FORWARD -i wlan0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT ip route add 172.28.225.0/24 dev eth1 proto kernel scope link src 172.28.225.10 table local#3. 对车内网络进行MASQUERADE(NAT) 使用下面的步骤. echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 172.16.101.4/24 -o eth0.101 -j MASQUERADE iptables -I FORWARD -i eth1 -o eth0.101 -j ACCEPT iptables -I FORWARD -i eth0.101 -o eth1 -j ACCEPT ip route add default via 172.28.225.1#3. 如果是通过wlan0上网,而不是通过外部的tbox上网,需要改成下面配置. echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 172.16.101.4/24 -o eth0.101 -j MASQUERADE iptables -t nat -A POSTROUTING -s 172.16.101.4/24 -o wlan0 -j MASQUERADE iptables -I FORWARD -i wlan0 -o eth0.101 -j ACCEPT iptables -I FORWARD -i eth0.101 -o wlan0 -j ACCEPT ip route add default via 10.177.244.24相同网段需要加上下面内容
echo 1 > /proc/sys/net/ipv4/ip_forward #去往tbox的 192.168.82.55的ip 走ivi的 eth1 ip route add 192.168.82.55 dev eth1 # 1. 开启 wlan0 的 ARP 代理功能(内核参数) echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arp # 2. 开启 eth1 的 ARP 代理功能 echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arpip route add 192.168.82.0/24 via 172.28.225.10 可替换为下面 #保留原默认路由,仅让eth1走自己的网关 ip route add default via 172.28.225.10 dev eth1 table 200 ip rule add from all iif eth1 lookup 200(可选) 或者下面 ip route add 192.168.82.0/24 via 172.28.225.10 dev eth1 table 100 # 只让来自某个 IP 的流量走这条路由 ip rule add from 192.168.1.100 lookup 100