Python运维修改Linux网络配置
时间: 2024-10-11 08:04:32 浏览: 30
Python Linux系统管理与自动化运维
在Python中进行Linux网络配置的修改通常涉及到使用操作系统提供的模块,如`subprocess`, `os`, 或者更专业的`netifaces`, `iproute2`等。下面是一个基本的例子,说明如何使用`subprocess`模块来修改网络接口的IP地址:
```python
import subprocess
# 获取当前系统的网络接口列表
interfaces = subprocess.check_output(['ifconfig', '-a']).decode('utf-8').split('\n')
# 假设我们要修改eth0接口(根据实际情况替换)
interface_to_change = 'eth0'
# 获取接口的IP信息
command = f'sudo ifconfig {interface_to_change} addr new_ip_address'
new_ip = subprocess.run(command.split(), capture_output=True).stdout.decode('utf-8')
# 检查是否设置成功
if 'inet addr:' in new_ip:
print(f"IP地址已成功修改为:{new_ip.strip()}")
else:
print("IP地址设置失败")
# 更改DNS服务器
command = f'sudo sed -i "s/#dns-nameservers .*/dns-nameservers new_dns1 new_dns2/" /etc/resolv.conf'
subprocess.run(command.split(), check=True) # 使用check=True确保命令执行成功
阅读全文