Linux开机自动连网

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

 

使用 “ ls ” 列出当前文件,查找到一般以 ifcfg-eno开头的就为设备的网卡文件

修改 ONBOOT 值

红框处修改即可。

 

 

### 回答1: 可以使用Python脚本来实现自动联网和自动检测断网重连,并发送IP地址至邮箱。要在Linux系统部署,需要将Python脚本放入/etc/init.d/ 目录下,并修改执行权限;然后在开机启动时,将Python脚本添加到/etc/rc.local文件中,即可实现开机自动执行。 ### 回答2: 要编写一个自动联网的Python程序,并在断网时自动重连,可以使用Python中的`socket`和`smtplib`库实现。 首先,需要编写一个循环程序,用于不断尝试与网络建立连接,一旦连接成功,就获取当前的IP地址,并发送到指定的邮箱。 以下是一个简单的实现示例: ```python import socket import smtplib from email.message import EmailMessage import time def get_ip(): # 获取当前的IP地址 hostname = socket.gethostname() ip_address = socket.gethostbyname(hostname) return ip_address def send_email(ip_address): # 发送带有新的IP地址的邮件 msg = EmailMessage() msg.set_content(f"New IP Address: {ip_address}") msg['Subject'] = 'New IP Address' msg['From'] = 'sender@gmail.com' msg['To'] = 'recipient@gmail.com' with smtplib.SMTP('smtp.gmail.com', 587) as smtp: smtp.starttls() smtp.login('sender@gmail.com', 'password') smtp.send_message(msg) def connect_to_network(): # 连接网络,并发送新的IP地址 while True: try: socket.create_connection(("www.google.com", 80)) ip_address = get_ip() send_email(ip_address) break except socket.error as e: print("Error connecting to network:", e) time.sleep(5) if __name__ == "__main__": connect_to_network() ``` 在Linux系统上部署和设置开机自动执行,可以按以下步骤进行: 1. 将以上程序保存为一个名为`auto_connect.py`的文件。 2. 打开终端,使用以下命令安装所需的`smtplib`库: ```bash pip install secure-smtplib ``` 3. 使用以下命令给`auto_connect.py`文件添加可执行权限: ```bash chmod +x auto_connect.py ``` 4. 使用以下命令在后台运行程序: ```bash nohup ./auto_connect.py & ``` 现在,程序将在后台执行,并在断网后自动重连并发送新的IP地址到指定的邮箱。 如果想要在系统开机自动执行该程序,可以将以下命令添加到启动脚本中(例如`.bashrc`或`.profile`文件): ```bash /path/to/auto_connect.py & ``` 确保将`/path/to/auto_connect.py`替换为`auto_connect.py`的实际路径。这样,无论何时系统启动,该程序都会自动执行。 ### 回答3: 编写自动联网的Python程序,并在断网时实现自动重连,以及在连接成功后向邮箱发送新的IP地址。 代码如下: ```python import smtplib import socket import time import requests # 定义发送邮箱相关信息 sender_email = '你的发送邮箱地址' sender_password = '你的发送邮箱密码' receiver_email = '接收邮箱地址' smtp_server = '邮箱的SMTP服务器地址' def send_email(ip): message = 'Subject: 新的IP地址\n\n' + '设备的新IP地址为:' + ip try: # 连接邮箱服务器 server = smtplib.SMTP(smtp_server, 587) server.starttls() # 登录邮箱 server.login(sender_email, sender_password) # 发送邮件 server.sendmail(sender_email, receiver_email, message) print("邮件已发送") except Exception as e: print("邮件发送失败:" + str(e)) finally: # 关闭连接 server.quit() def get_ip(): response = requests.get('https://api.ipify.org?format=json') return response.json()['ip'] def check_internet(): while True: try: # 尝试连接百度,如果可以连接则联网成功 socket.create_connection(('www.baidu.com', 80), timeout=5) print("已连接互联网") break except OSError: print("未连接互联网,等待重新连接...") time.sleep(5) def main(): check_internet() old_ip = get_ip() send_email(old_ip) while True: time.sleep(10) if get_ip() != old_ip: new_ip = get_ip() send_email(new_ip) old_ip = new_ip if __name__ == '__main__': main() ``` 部署步骤如下: 1. 将以上代码保存为文件,例如`network.py`。 2. 在Linux系统上安装Python和所需的依赖库,可以使用以下命令安装所需的库: ``` pip install requests ``` 3. 终端中运行程序,使用以下命令: ``` python /path/to/network.py ``` 这样就能手动运行程序。如果连接上了互联网,程序将会发送当前设备的IP地址给指定的邮箱。 接下来,我们需要在Linux系统中设置开机自动执行。 4. 在终端中运行以下命令: ``` crontab -e ``` 5. 使用合适的文本编辑器打开Crontab文件,在文件中添加以下内容: ``` @reboot python /path/to/network.py ``` 6. 保存并关闭文件,这样程序将会在每次开机自动执行。 完成以上步骤后,程序将会在每次开机自动运行,并且会自动重连断网后发送新的IP地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值