Advertisement
Guest User

Untitled

a guest
Oct 13th, 2014
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.67 KB | None | 0 0
  1. cat 75-persistent-net-generator.rules:
  2.  
  3. # These rules generate rules to keep network interface names unchanged
  4. # across reboots and write them to /etc/udev/rules.d/70-persistent-net.rules.
  5.  
  6. # variables used to communicate:
  7. # MATCHADDR MAC address used for the match
  8. # MATCHID bus_id used for the match
  9. # MATCHDRV driver name used for the match
  10. # MATCHIFTYPE interface type match
  11. # COMMENT comment to add to the generated rule
  12. # INTERFACE_NAME requested name supplied by external tool
  13. # INTERFACE_NEW new interface name returned by rule writer
  14.  
  15. ACTION!="add", GOTO="persistent_net_generator_end"
  16. SUBSYSTEM!="net", GOTO="persistent_net_generator_end"
  17.  
  18. # ignore the interface if a name has already been set
  19. NAME=="?*", GOTO="persistent_net_generator_end"
  20.  
  21. # new predictable network interface naming scheme
  22. # http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
  23. IMPORT{cmdline}="net.ifnames"
  24. ENV{net.ifnames}=="1", GOTO="persistent_net_generator_end"
  25.  
  26. # device name whitelist
  27. KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", \
  28. GOTO="persistent_net_generator_end"
  29.  
  30. # ignore Xen virtual interfaces
  31. SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end"
  32.  
  33. # ignore UML virtual interfaces
  34. DRIVERS=="uml-netdev", GOTO="persistent_net_generator_end"
  35.  
  36. # ignore "secondary" raw interfaces of the madwifi driver
  37. KERNEL=="ath*", ATTRS{type}=="802", GOTO="persistent_net_generator_end"
  38.  
  39. # ignore "secondary" monitor interfaces of mac80211 drivers
  40. KERNEL=="wlan*", ATTRS{type}=="803", GOTO="persistent_net_generator_end"
  41.  
  42. # by default match on the MAC address and interface type
  43. ENV{MATCHADDR}="$attr{address}"
  44. ENV{MATCHIFTYPE}="$attr{type}"
  45.  
  46. # match interface dev_id
  47. ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
  48.  
  49. # These vendors are known to violate the local MAC address assignment scheme
  50. # Interlan, DEC (UNIBUS or QBUS), Apollo, Cisco, Racal-Datacom
  51. ENV{MATCHADDR}=="02:07:01:*", GOTO="globally_administered_whitelist"
  52. # 3Com
  53. ENV{MATCHADDR}=="02:60:60:*", GOTO="globally_administered_whitelist"
  54. # 3Com IBM PC; Imagen; Valid; Cisco; Apple
  55. ENV{MATCHADDR}=="02:60:8c:*", GOTO="globally_administered_whitelist"
  56. # Intel
  57. ENV{MATCHADDR}=="02:a0:c9:*", GOTO="globally_administered_whitelist"
  58. # Olivetti
  59. ENV{MATCHADDR}=="02:aa:3c:*", GOTO="globally_administered_whitelist"
  60. # CMC Masscomp; Silicon Graphics; Prime EXL
  61. ENV{MATCHADDR}=="02:cf:1f:*", GOTO="globally_administered_whitelist"
  62. # Prominet Corporation Gigabit Ethernet Switch
  63. ENV{MATCHADDR}=="02:e0:3b:*", GOTO="globally_administered_whitelist"
  64. # BTI (Bus-Tech, Inc.) IBM Mainframes
  65. ENV{MATCHADDR}=="02:e6:d3:*", GOTO="globally_administered_whitelist"
  66. # Novell 2000
  67. ENV{MATCHADDR}=="52:54:4c:*", GOTO="globally_administered_whitelist"
  68. # Realtec
  69. ENV{MATCHADDR}=="52:54:ab:*", GOTO="globally_administered_whitelist"
  70. # Kingston Technologies
  71. ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="globally_administered_whitelist"
  72. # Ravello Systems
  73. ENV{MATCHADDR}=="2c:c2:60:*", GOTO="globally_administered_whitelist"
  74.  
  75.  
  76. # ignore interfaces with locally administered or null MAC addresses
  77. # and VMWare, Hyper-V, KVM, Virtualbox and Xen virtual interfaces
  78. ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
  79. ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}=""
  80. ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*|00:05:69:*|00:1C:14:*", \
  81. ENV{MATCHADDR}=""
  82. ENV{MATCHADDR}=="00:15:5d:*", ENV{MATCHADDR}=""
  83. ENV{MATCHADDR}=="52:54:00:*|54:52:00:*", ENV{MATCHADDR}=""
  84. ENV{MATCHADDR}=="08:00:27:*", ENV{MATCHADDR}=""
  85. ENV{MATCHADDR}=="00:16:3e:*", ENV{MATCHADDR}=""
  86.  
  87. # ignore Windows Azure Hyper-V virtual interfaces
  88. ENV{MATCHADDR}=="00:03:ff:*", ENV{MATCHADDR}=""
  89. ENV{MATCHADDR}=="00:0d:3a:*", ENV{MATCHADDR}=""
  90. ENV{MATCHADDR}=="00:1d:d8:*", ENV{MATCHADDR}=""
  91. ENV{MATCHADDR}=="00:12:5a:*", ENV{MATCHADDR}=""
  92. ENV{MATCHADDR}=="00:17:fa:*", ENV{MATCHADDR}=""
  93. ENV{MATCHADDR}=="00:22:48:*", ENV{MATCHADDR}=""
  94. ENV{MATCHADDR}=="00:50:f2:*", ENV{MATCHADDR}=""
  95. ENV{MATCHADDR}=="28:18:78:*", ENV{MATCHADDR}=""
  96. ENV{MATCHADDR}=="50:1a:c5:*", ENV{MATCHADDR}=""
  97. ENV{MATCHADDR}=="60:45:bd:*", ENV{MATCHADDR}=""
  98. ENV{MATCHADDR}=="7c:1e:52:*", ENV{MATCHADDR}=""
  99. ENV{MATCHADDR}=="7c:ed:8d:*", ENV{MATCHADDR}=""
  100. ENV{MATCHADDR}=="dc:b4:c4:*", ENV{MATCHADDR}=""
  101.  
  102. LABEL="globally_administered_whitelist"
  103.  
  104. # ibmveth interfaces have stable locally administered MAC addresses
  105. SUBSYSTEMS=="ibmveth", ENV{MATCHADDR}="$attr{address}"
  106.  
  107. # S/390 interfaces are matched only by id
  108. SUBSYSTEMS=="ccwgroup", \
  109. ENV{MATCHDRV}="$driver", ENV{MATCHID}="$id", \
  110. ENV{MATCHADDR}="", ENV{MATCHDEVID}=""
  111.  
  112. # terminate processing if there are not enough conditions to create a rule
  113. ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", \
  114. GOTO="persistent_net_generator_end"
  115.  
  116.  
  117. # provide nice comments for the generated rules
  118. SUBSYSTEMS=="pci", \
  119. ENV{COMMENT}="PCI device $attr{vendor}:$attr{device}"
  120. SUBSYSTEMS=="pcmcia", \
  121. ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id}"
  122. SUBSYSTEMS=="usb", \
  123. ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct}"
  124. SUBSYSTEMS=="ccwgroup", \
  125. ENV{COMMENT}="S/390 device at $id"
  126. SUBSYSTEMS=="ibmveth", \
  127. ENV{COMMENT}="LPAR virtual device at $id"
  128. SUBSYSTEMS=="ieee1394", \
  129. ENV{COMMENT}="Firewire device $attr{host_id}"
  130. ENV{COMMENT}=="", \
  131. ENV{COMMENT}="Unknown $env{SUBSYSTEM} device ($env{DEVPATH})"
  132. ATTRS{driver}=="?*", \
  133. ENV{COMMENT}="$env{COMMENT} ($attr{driver})"
  134.  
  135.  
  136. # ignore interfaces without a driver link like bridges and VLANs, otherwise
  137. # generate and write the rule
  138. DRIVERS=="?*", IMPORT{program}="write_net_rules"
  139.  
  140. # rename the interface if requested
  141. ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
  142.  
  143. LABEL="persistent_net_generator_end"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement