[sisyphus] etcnet dhclient ipv4 и ipv6 одновременно

Дмитрий Дегтярев ddv на bgc.perm.ru
Чт Мар 7 16:32:02 MSK 2013


День добрый.

Чуть-чуть подправил скрипты в etcnet и смог одновременно получать по 
DHCP адреса ipv4 и ipv6..

Вопрос: это недоработка etcnet или в моих действиях есть что-то 
"незаконное" в плане протоколов dhcp и dhcp6?
в fedora можно получать одновременно и ipv4 и ipv6!

$ cat /etc/net/ifaces/eth0/options
BOOTPROTO=dhcp,dhcp6
TYPE=eth
NM_CONTROLLED=no
DISABLED=no
CONFIG_IPV6=yes
DHCP_CLIENT=/sbin/dhclient
DHCP_ARGS=""

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:30:67:34:89:EF
           inet addr:192.168.1.101  Bcast:192.168.1.255 Mask:255.255.255.0
           inet6 addr: 2001:db8:1234:1::101/64 Scope:Global
           inet6 addr: fe80::230:67ff:fe34:89ef/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:359950 errors:0 dropped:0 overruns:0 frame:0
           TX packets:232612 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:160739361 (153.2 MiB)  TX bytes:22880942 (21.8 MiB)

$ cat /etc/resolv.conf
# Generated by resolvconf
# Do not edit manually, use
# /etc/net/ifaces/<interface>/resolv.conf instead.
search local.
nameserver 192.168.1.5
nameserver 2001:db8:1234:1::5

Изменения:
diff -Naur ./scripts/config-ipv4 /etc/net/scripts/config-ipv4
--- ./scripts/config-ipv4    2012-11-08 20:30:54.000000000 +0600
+++ /etc/net/scripts/config-ipv4    2013-03-07 17:35:39.751059798 +0600
@@ -36,6 +36,12 @@
                  dhcp[-,\ ]static)
                      try_dhcp || try_static && config_ipv4_routes_rules add
                      ;;
+                dhcp[-,\ ]dhcp6)
+                    try_dhcp || try_static && config_ipv4_routes_rules add
+                    ;;
+                dhcp6[-,\ ]dhcp)
+                                        try_dhcp || try_static && 
config_ipv4_routes_rules add
+                                        ;;
                  dhcp[-,\ ]ipv4ll)
                      try_dhcp || try_ipv4ll && config_ipv4_routes_rules add
                      ;;

diff -Naur ./scripts/config-ipv6 /etc/net/scripts/config-ipv6
--- ./scripts/config-ipv6    2012-11-08 20:30:54.000000000 +0600
+++ /etc/net/scripts/config-ipv6    2013-03-07 17:36:01.851058735 +0600
@@ -34,6 +34,12 @@
                  dhcp6[-,\ ]static)
                      try_dhcp6 || try_static6 && 
config_ipv6_routes_rules add
                      ;;
+                dhcp[-,\ ]dhcp6)
+                    try_dhcp6 || try_static6 && 
config_ipv6_routes_rules add
+                    ;;
+                dhcp6[-,\ ]dhcp)
+                                        try_dhcp6 || try_static6 && 
config_ipv6_routes_rules add
+                    ;;
                  dhcp|ipv4ll|dhcp[-,\ ]ipv4ll|dhcp[-,\ ]ipv4ll[-,\ ]static)
                      # nothing to do
                      ;;

diff -Naur ./scripts/functions-ip /etc/net/scripts/functions-ip
--- ./scripts/functions-ip    2012-11-08 20:30:54.000000000 +0600
+++ /etc/net/scripts/functions-ip    2013-03-07 17:39:28.075048817 +0600
@@ -38,7 +38,7 @@
              fi
              T=${DHCP_TIMEOUT:+${V:+-1} -timeout $DHCP_TIMEOUT}
              [ -z "$T" -a -n "$V" ] && T="-nw"
-            echo "-q ${V:+-$V} $H $T -pf /var/run/dhclient-$NAME.pid 
-lf /var/lib/dhcp/dhclient/state/dhclient$V-$NAME.leases $NAME"
+            echo "-q ${V:+-$V} $H $T -pf /var/run/dhclient$V-$NAME.pid 
-lf /var/lib/dhcp/dhclient/state/dhclient$V-$NAME.leases $NAME"
              ;;
          *)
              print_error "Can't pick command line for DHCP client 
'$DHCP_CLIENT'"
@@ -71,6 +71,7 @@
              return 1
          fi
      fi


service network restart не работает, почему то клиент не останавливается


Подробная информация о списке рассылки Sisyphus