需求是电脑通过无线上网,然后把有线共享给其他设备,其他设备通过电脑代理上网。
电脑上有两张网卡,一张有线网卡,名字为eth0
,一张无线网卡,名字为wlan0
。
电脑的有线网卡配置的静态IP
地址为:192.168.0.1
。
对于Ubuntu 16.10/17.10
系统,请参考 Ubuntu 16.10/17.10无法通过/etc/rc.local开机启动应用 激活系统对于/etc/rc.local
功能的支持。
电脑上执行如下命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$ echo "1" | sudo tee /proc/sys/net/ipv4/ip_forward $ sudo iptables -F $ sudo iptables -P INPUT ACCEPT $ sudo iptables -P FORWARD ACCEPT #打开NAT,无线网卡这里大eth0改wlan0 $ sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE #保存设置信息,下次开机自动开启代理 $ sudo sed -i '$a\net.ipv4.ip_forward = 1' /etc/sysctl.conf $ sudo sed -i '$a\iptables -F' /etc/rc.local $ sudo sed -i '$a\iptables -P INPUT ACCEPT' /etc/rc.local $ sudo sed -i '$a\iptables -P FORWARD ACCEPT' /etc/rc.local $ sudo sed -i '$a\iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE' /etc/rc.local |
此时,由于我们没有开启DHCP
功能,因此只能设置静态IP
地址。客户机设置如下:
eth0:192.168.0.10
掩码:255.255.255.0
网关:192.168.0.1