在/etc/sysconfig/network-scripts/目录下,编辑ifcfg-eth0、ifcfg-eth1来设置IP, 然后执行 ifup eth0 或ifup eth1来激活相应的网卡。若要停止,则执行ifdown etho 或 ifdown eth1。
在/etc/sysconfig/network-scripts/目录下,编辑ifcfg-eth0、ifcfg-eth1来设置IP, 然后执行 ifup eth0 或ifup eth1来激活相应的网卡。若要停止,则执行ifdown etho 或 ifdown eth1。
import xml.parsers.expat
level = 0
def start_element(name, attrs):
global level
print ‘ ‘ * level, ‘Start element:’, name, attrs
level = level + 1
def end_element(name):
global level
level = level – 1
print ‘ ‘ * level, ‘End element:’, name
def char_data(data):
if(data == ‘n’):
return
if(data.isspace()):
return
global level
print ‘ ‘ * level, ‘Character data:’, data
if __name__ == "__main__":
p = xml.parsers.expat.ParserCreate()
p.StartElementHandler = start_element
p.EndElementHandler = end_element
p.CharacterDataHandler = char_data
p.returns_unicode = False
f = file(‘sample.xml’)
p.ParseFile(f)
f.close()
———————————————————————————-
提取struts中配置的action:
import xml.parsers.expat
level = 0
pkg = ”
def start_element(name, attrs):
global level
global pkg
if(name == ‘package’):
pkg = attrs[‘namespace’]
if(name == ‘action’):
print pkg + "/" + attrs[‘name’] + ".action"
#level = level + 1
def end_element(name):
print ”
def char_data(data):
if(data == ‘n’):
return
if(data.isspace()):
return
global level
print ‘ ‘
if __name__ == "__main__":
p = xml.parsers.expat.ParserCreate()
p.StartElementHandler = start_element
p.EndElementHandler = end_element
p.CharacterDataHandler = char_data
p.returns_unicode = False
f = file(‘sample.xml’)
p.ParseFile(f)
f.close()
场景描述:服务器一般有两块网卡,一个连接外网,一个连接内网。在linux系统下,通常会用eth0, eth1来标识。在redhat系列下,IP配置文件一般在 /etc/sysconfig/network-scripts/ifcfg-eth0和 /etc/sysconfig/network-scripts/ifcfg-eth1 里面。格式类似于下面:
# Intel Corporation 82576 Gigabit Network Connection
DEVICE=eth1
BOOTPROTO=none
HWADDR=00:26:55:23:23:E7
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.224
IPADDR=132.77.127.75
GATEWAY=132.77.127.65
USERCTL=no
IPV6INIT=no
PEERDNS=yes
现在我们问题来了,由于两块网卡eth0和eth1都配置了网关,当后一个网卡激活后,默认网关就会变成后一个网卡的网关,这样会导致内网、外网数据都走这个网关,从而引起网络出现问题。为了解决内网、外网都可以访问,我们需要通过路由来对数据分流。让外网的数据走外网网卡的网关,内网的走内网的网关。比如,内网网卡为eth1, 我们希望访问132.77.127.12时走网关132.77.127.65, 那么我们可以在 /etc/sysconfig/network-scripts/下创建文件 route-eth1,
格式:
<ADDRESS>/<MASK BITS> via <GATEWAY> dev <eth#>
内容为:
132.77.127.12/32 via 132.77.127.65 dev eth1
其中32表示32位的子网掩码。
表示到 访问132.77.127.12 时走网关 132.77.127.65
然后在终端下执行:
ifdown eth1
ifup eth1
这时在执行:
route
就可以看到路由表信息里面两个网关都有了。内网、外网通讯会分别走内网网关和外网网关。