玩转树莓派

    返回首页    发表留言
本文作者:李德强
          第四节 配置网络转发
 
 

        接下来我们需要将eth0网络包数据转发到wlan0中,我们需要修改/etc/sysctl.conf文件,找到#net.ipv4.ip_forward=1去掉其前面的#号,并将其值修改为1:

net.ipv4.ip_forward=1

        执行下面命令启用系统的ipv4包转发:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

        以上两步只是启用了系统的ipv4包转发的配置选项,但并没有真正的对数据包做转发,我们还需要配置iptables防火墙,设置ipv4的包转发功能:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT  
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT 

        执行上面命令之后iptables防火墙只是临时生效了,一旦树莓派重启这些设置就都清空了,我们需要将这个设置保存到树莓派的磁盘(sdcard)上,执行:

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

        然后在/etc/rc.local中exit 0前加入:

iptables-restore < /etc/iptables.ipv4.nat 

        于是树莓派在开机启动后就会从/etc/iptables.ipv4.nat载入我们的防火墙规则,并启用ipv4包转发功能,将eth0的数据包转发到wlan0中。同时在修改/etc/rc.local时也可以在exit 0前加入加入下面内容:

sudo service hostapd start  
sudo service dnsmasq start

        这样一来hostapd和dnsmasq就也随树莓派开机启动时启动了。

 

    返回首页    返回顶部
  看不清?点击刷新

 

  Copyright © 2015-2023 问渠网 辽ICP备15013245号