随笔记录03——树莓派WiFi连接和代理

之前安装了mitmproxy、还有无线AP共享网络。现在需要将手机连接到树莓派WiFi,并且在开启代理时,可以实现透明代理

一、手机连接WiFi

保证设备接入网线,手机在连接WiFi后,是可以浏览网页。

出现问题:手机可以ping通8.8.8.8,但是域名无法ping通。在连接WiFi时,出现问题,经过排查,dns服务存在问题。不知道是什么原因将之前做的nginx代理的一部分注释掉,重启服务就可以将域名ping通。

sudo vim /etc/dnsmasq.conf

log-facility=/var/log/dnsmasq/dnsmasq.log
interface=wlan0 
listen-address=192.168.60.1
bind-interfaces 
server=8.8.8.8
#domain-needed
#bogus-priv
#address=/up8007.com/192.168.60.1
dhcp-range=192.168.60.100,192.168.60.200,24h

确保网络互通

二、防火墙配置

1.说明

在Ubuntu中,ufw是一个前端用于管理iptables的工具,它简化了防火墙的配置过程。本身并不直接支持端口转发功能。端口转发通常是通过iptables直接配置的。可以在使用ufw的同时,通过直接操作iptables来添加端口转发规则。

需要将之前的ufw设置的防火墙置为初始状态,“sudo ufw reset ”。

1.在使用过程中由于不清楚防火墙知识,使用了“iptables -F”的命令,——》之前存在的基础的命令失效,包括手机无法连接共享的WiFi,并且连接上不能上网等一系列的乌龙。

***要慎用此清除命令***

2. 查看系统是否启用了 IP 转发功能

sudo sysctl net.ipv4.ip_forward

net.ipv4.ip_forward = 1

可重新加载:sudo sysctl -p

 2.防火墙相关操作

注意:由于之前我使用iptables -F清除了基本命令,所以在这里的前三行命令都是用来网络地址转换、数据转发。

后两行命令主要用来进行将80、443端口转发到8080

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

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080

 设置完成后,开启mitmproxy代理。可看到打印

关闭代理,手机访问会提示加载失败,重新加载。


3.相关解释说明

#实现网络地址转换(NAT),具体来说是地址伪装(MASQUERADE),通常用于实现网络共享。

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# -A POSTROUTING: 在 POSTROUTING 链中添加规则,这个链处理的是数据包离开本机前的情况。
# -o eth0: 规则作用于从 eth0 网卡接口发送出去的包。
# -j MASQUERADE: 将符合条件的数据包进行地址伪装,通常用于动态分配 IP 的情况下。
#允许从 eth0 接口进来的已经建立连接的数据包通过并转发到 wlan0 接口。这通常用于桥接两个网络接口,实现网络间的数据转发

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

# -A FORWARD: 在 FORWARD 链中添加规则,这个链处理的是需要转发的数据包。
# -i eth0: 规则作用于从 eth0 网卡接口进来的包。
# -o wlan0: 规则作用于转发到 wlan0 网卡接口的包。
# -m state --state RELATED,ESTABLISHED: 使用 state 模块匹配状态,RELATED 表示与已建立连接相关的数据包,ESTABLISHED 表示已建立连接的数据包。
#允许从 wlan0 接口进来并转发到 eth0 接口的数据包

sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

# -A :append——》追加在最后一条规则
# -i :insert——》插入规则第一条

sudo vim /etc/iptables/rules.v4

1.如果没有该文件,执行以下命令:

sudo apt-get update

sudo apt-get install iptables-persistent

2.保存当前规则

sudo netfilter-persistent save

或者

sudo iptables-save > /etc/iptables/rules.v4

 如果使用中,加载规则出现以下情况

sudo modprobe ip_tables 
sudo modprobe iptable_filter 
sudo modprobe iptable_nat 
sudo modprobe xt_tcpudp  

查看规则:lsmod | grep iptable
其实最后只需要在运行规则时,加上sudo 就可以完成。

总结:写的有点乱,但是这次还是有很大的收获,需要加强对防火墙的知识的学习和了解。其实有时候如果知道这些东西的基本原理话,搞起来很快,但是因为知识欠缺,导致了出现一个小问题 ,不知道如何下手,去哪里找问题,菜鸟一个,加强学习!!!

  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值