前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >111-配置IP地址

111-配置IP地址

作者头像
凯茜的老爸
发布2018-09-11 15:07:05
1.3K0
发布2018-09-11 15:07:05
举报
文章被收录于专栏:python百例python百例

RHEL7主机有四块网卡,名为eth0/eth1/eth2/eth3。为四块网卡配置IP地址。

代码语言:javascript
复制
#!/usr/bin/env python

import sys
import re

def configip(fname, ip_addr, if_ind):
    content = """TYPE=Ethernet
BOOTPROTO=none
NAME=eth%s
DEVICE=eth%s
ONBOOT=yes
IPADDR=%s
PREFIX=24
""" % (if_ind, if_ind, ip_addr)
    with open(fname, 'w') as fobj:
        fobj.write(content)

def check_ip(ip_addr):   # 判断IP地址是不是X.X.X.X格式
    m = re.match(r'(\d{1,3}\.){3}\d{1,3}$', ip_addr)
    if not m:
        return False
    return True

def show_menu():
    prompt = """Configure IP Address:
(0) eth0
(1) eth1
(2) eth2
(3) eth3
Your choice(0/1/2/3): """
    try:
        if_ind = raw_input(prompt).strip()[0]
    except:
        print 'Invalid input.'
        sys.exit(1)

    if if_ind not in '0123':
        print 'Wrong Selection. Use 0/1/2/3'
        sys.exit(2)

    fname = '/etc/sysconfig/network-scripts/ifcfg-eth%s' % if_ind
    ip_addr = raw_input('ip address: ').strip()
    result = check_ip(ip_addr)
    if not result:
        print 'Invalid ip address'
        sys.exit(3)
    configip(fname, ip_addr, if_ind)
    print '\033[32;1mConfigure ip address done. Please execute "systemctl restart NetworkManager"\033[0m'

if __name__ == '__main__':
    show_menu()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.08.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档