V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
firejoke
V2EX  ›  Python

一个在远程主机自动修改网卡的脚本, 带回滚

  •  
  •   firejoke · 2020-09-08 10:43:49 +08:00 · 1415 次点击
    这是一个创建于 1543 天前的主题,其中的信息可能已经有所发展或是发生改变。

    当初为了修改远程主机网卡配置写的一个脚本, 可以配合 fabric 在页面上修改远程主机的网卡配置
    最开始只做了 redhat 系的网卡配置文件的解析和修改, 现在做了 debian 系的适配
    支持网卡配置修改和 bond 网卡创建(bond 在 redhat 系下测试效果不错, debian 系还没测几次)
    如果是远程调用的话, 可以用 nohup, 避免阻塞, 然后在重新连上后, 查看 /tmp/下 network-interfaces-stdout 和 network-interfaces-stderr 这两个临时文件内的输出结果
    git 地址

    python /tmp/network/network_interface.py --help             
    usage: network_interface.py [-h] [--netifaces] [--alter name, config json]
                                [--tty 1 or 0]
    
    You must run as root!
    
    optional arguments:
      -h, --help            show this help message and exit
      --netifaces           get network interfaces
      --alter name, config json
                            Alter network interfaces config, new config must be
                            json string
      --tty 1 or 0          1: Output to terminal, 0: tmp file(/tmp/network-
                            interfaces-std*), default: 0
    
    e.g.:
    get network interfaces config
        python network_interface.py --netifaces
    alter network interface config
        python network_interface.py --alter ens33 '{"ip_address": ["192.168.50.1", ....],
        "gateway": "192.168.50.254", "dns": ["1.2.4.8", ...]}'
        or
        python network_interface.py --alter ens37 '{"reset_dhcp": 1}'
        or
        python network_interface.py --alter ens37 '{"reset_promisc": 1}'
        python network_interface.py --alter ens37 '{"reset_none": 1}'
    remote
        $(nohup python /tmp/network/network_interface.pyc --alter 'json str' >& /dev/null < /dev/null &) && sleep 1
    
                """
    
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5491 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:10 · PVG 17:10 · LAX 01:10 · JFK 04:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.