Linux ip-172-26-5-244 6.1.0-28-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64
Apache
: 172.26.5.244 | : 216.73.216.21
Cant Read [ /etc/named.conf ]
8.3.14
daemon
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
sbin /
[ HOME SHELL ]
Name
Size
Permission
Action
aa-remove-unknown
3.13
KB
-rwxr-xr-x
aa-status
38.3
KB
-rwxr-xr-x
aa-teardown
137
B
-rwxr-xr-x
accessdb
14.46
KB
-rwxr-xr-x
add-shell
1.03
KB
-rwxr-xr-x
addgroup
47.25
KB
-rwxr-xr-x
adduser
47.25
KB
-rwxr-xr-x
agetty
67.49
KB
-rwxr-xr-x
apparmor_parser
1.39
MB
-rwxr-xr-x
apparmor_status
38.3
KB
-rwxr-xr-x
arp
66.13
KB
-rwxr-xr-x
arpd
104.48
KB
-rwxr-xr-x
arptables
223.16
KB
-rwxr-xr-x
arptables-nft
223.16
KB
-rwxr-xr-x
arptables-nft-restore
223.16
KB
-rwxr-xr-x
arptables-nft-save
223.16
KB
-rwxr-xr-x
arptables-restore
223.16
KB
-rwxr-xr-x
arptables-save
223.16
KB
-rwxr-xr-x
atd
30.09
KB
-rwxr-xr-x
badblocks
34.25
KB
-rwxr-xr-x
blkdeactivate
15.96
KB
-rwxr-xr-x
blkdiscard
34.31
KB
-rwxr-xr-x
blkid
122.34
KB
-rwxr-xr-x
blkzone
78.31
KB
-rwxr-xr-x
blockdev
78.31
KB
-rwxr-xr-x
bridge
152.54
KB
-rwxr-xr-x
capsh
53.29
KB
-rwxr-xr-x
cfdisk
106.66
KB
-rwxr-xr-x
cgdisk
210.41
KB
-rwxr-xr-x
chcpu
46.3
KB
-rwxr-xr-x
chgpasswd
66.29
KB
-rwxr-xr-x
chmem
66.31
KB
-rwxr-xr-x
chpasswd
62.36
KB
-rwxr-xr-x
chroot
46.98
KB
-rwxr-xr-x
cpgr
60.43
KB
-rwxr-xr-x
cppw
60.43
KB
-rwxr-xr-x
cron
50.56
KB
-rwxr-xr-x
ctrlaltdel
38.3
KB
-rwxr-xr-x
dcb
144.6
KB
-rwxr-xr-x
debugfs
233.83
KB
-rwxr-xr-x
delgroup
16.33
KB
-rwxr-xr-x
deluser
16.33
KB
-rwxr-xr-x
depmod
174.27
KB
-rwxr-xr-x
devlink
220.98
KB
-rwxr-xr-x
dhclient
2.63
MB
-rwxr-xr-x
dhclient-script
14.21
KB
-rwxr-xr-x
dmsetup
166.98
KB
-rwxr-xr-x
dmstats
166.98
KB
-rwxr-xr-x
dpkg-fsys-usrunmess
16.99
KB
-rwxr-xr-x
dpkg-preconfigure
3.83
KB
-rwxr-xr-x
dpkg-reconfigure
4.38
KB
-rwxr-xr-x
dumpe2fs
30.31
KB
-rwxr-xr-x
e2freefrag
14.3
KB
-rwxr-xr-x
e2fsck
348.27
KB
-rwxr-xr-x
e2image
54.45
KB
-rwxr-xr-x
e2label
114.52
KB
-rwxr-xr-x
e2mmpstatus
30.31
KB
-rwxr-xr-x
e2scrub
7.12
KB
-rwxr-xr-x
e2scrub_all
5.27
KB
-rwxr-xr-x
e2undo
22.3
KB
-rwxr-xr-x
e4crypt
26.3
KB
-rwxr-xr-x
e4defrag
30.23
KB
-rwxr-xr-x
ebsnvme-id
6.89
KB
-rwxr-xr-x
ebtables
223.16
KB
-rwxr-xr-x
ebtables-nft
223.16
KB
-rwxr-xr-x
ebtables-nft-restore
223.16
KB
-rwxr-xr-x
ebtables-nft-save
223.16
KB
-rwxr-xr-x
ebtables-restore
223.16
KB
-rwxr-xr-x
ebtables-save
223.16
KB
-rwxr-xr-x
ebtables-translate
223.16
KB
-rwxr-xr-x
ethtool
592.45
KB
-rwxr-xr-x
faillock
14.24
KB
-rwxr-xr-x
fdisk
158.35
KB
-rwxr-xr-x
filefrag
18.26
KB
-rwxr-xr-x
findfs
14.3
KB
-rwxr-xr-x
fixparts
74.4
KB
-rwxr-xr-x
fsck
54.36
KB
-rwxr-xr-x
fsck.cramfs
42.37
KB
-rwxr-xr-x
fsck.ext2
348.27
KB
-rwxr-xr-x
fsck.ext3
348.27
KB
-rwxr-xr-x
fsck.ext4
348.27
KB
-rwxr-xr-x
fsck.minix
122.34
KB
-rwxr-xr-x
fsfreeze
14.3
KB
-rwxr-xr-x
fstab-decode
14.23
KB
-rwxr-xr-x
fstrim
74.31
KB
-rwxr-xr-x
gdisk
218.41
KB
-rwxr-xr-x
genl
116.51
KB
-rwxr-xr-x
getcap
14.23
KB
-rwxr-xr-x
getpcaps
14.23
KB
-rwxr-xr-x
getty
67.49
KB
-rwxr-xr-x
groupadd
99.04
KB
-rwxr-xr-x
groupdel
86.85
KB
-rwxr-xr-x
groupmems
66.33
KB
-rwxr-xr-x
groupmod
99.01
KB
-rwxr-xr-x
grpck
66.3
KB
-rwxr-xr-x
grpconv
58.14
KB
-rwxr-xr-x
grpunconv
58.14
KB
-rwxr-xr-x
grub-install
1.14
MB
-rwxr-xr-x
grub-macbless
922.26
KB
-rwxr-xr-x
grub-mkconfig
8.46
KB
-rwxr-xr-x
grub-mkdevicemap
216.7
KB
-rwxr-xr-x
grub-probe
934.57
KB
-rwxr-xr-x
grub-reboot
4.73
KB
-rwxr-xr-x
grub-set-default
3.47
KB
-rwxr-xr-x
halt
1.29
MB
-rwxr-xr-x
haveged
30.8
KB
-rwxr-xr-x
hwclock
86.44
KB
-rwxr-xr-x
iconvconfig
30.84
KB
-rwxr-xr-x
ifconfig
82.01
KB
-rwxr-xr-x
init
90.38
KB
-rwxr-xr-x
insmod
174.27
KB
-rwxr-xr-x
install-sgmlcatalog
4.44
KB
-rwxr-xr-x
installkernel
2.6
KB
-rwxr-xr-x
invoke-rc.d
16.13
KB
-rwxr-xr-x
ip
674.82
KB
-rwxr-xr-x
ip6tables
223.16
KB
-rwxr-xr-x
ip6tables-apply
6.87
KB
-rwxr-xr-x
ip6tables-legacy
88.98
KB
-rwxr-xr-x
ip6tables-legacy-restore
88.98
KB
-rwxr-xr-x
ip6tables-legacy-save
88.98
KB
-rwxr-xr-x
ip6tables-nft
223.16
KB
-rwxr-xr-x
ip6tables-nft-restore
223.16
KB
-rwxr-xr-x
ip6tables-nft-save
223.16
KB
-rwxr-xr-x
ip6tables-restore
223.16
KB
-rwxr-xr-x
ip6tables-restore-translate
223.16
KB
-rwxr-xr-x
ip6tables-save
223.16
KB
-rwxr-xr-x
ip6tables-translate
223.16
KB
-rwxr-xr-x
ipmaddr
18.56
KB
-rwxr-xr-x
iptables
223.16
KB
-rwxr-xr-x
iptables-apply
6.87
KB
-rwxr-xr-x
iptables-legacy
88.98
KB
-rwxr-xr-x
iptables-legacy-restore
88.98
KB
-rwxr-xr-x
iptables-legacy-save
88.98
KB
-rwxr-xr-x
iptables-nft
223.16
KB
-rwxr-xr-x
iptables-nft-restore
223.16
KB
-rwxr-xr-x
iptables-nft-save
223.16
KB
-rwxr-xr-x
iptables-restore
223.16
KB
-rwxr-xr-x
iptables-restore-translate
223.16
KB
-rwxr-xr-x
iptables-save
223.16
KB
-rwxr-xr-x
iptables-translate
223.16
KB
-rwxr-xr-x
iptunnel
26.55
KB
-rwxr-xr-x
isosize
30.31
KB
-rwxr-xr-x
killall5
26.31
KB
-rwxr-xr-x
ldattach
34.31
KB
-rwxr-xr-x
ldconfig
959.84
KB
-rwxr-xr-x
locale-gen
1.38
KB
-rwxr-xr-x
logrotate
98.16
KB
-rwxr-xr-x
logsave
14.09
KB
-rwxr-xr-x
losetup
114.42
KB
-rwxr-xr-x
lsmod
174.27
KB
-rwxr-xr-x
mii-tool
27.08
KB
-rwxr-xr-x
mke2fs
138.58
KB
-rwxr-xr-x
mkfs
14.3
KB
-rwxr-xr-x
mkfs.bfs
34.31
KB
-rwxr-xr-x
mkfs.cramfs
42.24
KB
-rwxr-xr-x
mkfs.ext2
138.58
KB
-rwxr-xr-x
mkfs.ext3
138.58
KB
-rwxr-xr-x
mkfs.ext4
138.58
KB
-rwxr-xr-x
mkfs.minix
110.32
KB
-rwxr-xr-x
mkhomedir_helper
22.27
KB
-rwxr-xr-x
mkinitramfs
12.4
KB
-rwxr-xr-x
mklost+found
14.23
KB
-rwxr-xr-x
mkswap
114.31
KB
-rwxr-xr-x
modinfo
174.27
KB
-rwxr-xr-x
modprobe
174.27
KB
-rwxr-xr-x
nameif
14.65
KB
-rwxr-xr-x
netplan
798
B
-rwxr-xr-x
newusers
102.92
KB
-rwxr-xr-x
nfnl_osf
18.23
KB
-rwxr-xr-x
nologin
14.23
KB
-rwxr-xr-x
pam-auth-update
20.79
KB
-rwxr-xr-x
pam_getenv
2.82
KB
-rwxr-xr-x
pam_namespace_helper
467
B
-rwxr-xr-x
pam_timestamp_check
14.24
KB
-rwxr-xr-x
pivot_root
14.3
KB
-rwxr-xr-x
plipconfig
14.48
KB
-rwxr-xr-x
poweroff
1.29
MB
-rwxr-xr-x
pwck
58.26
KB
-rwxr-xr-x
pwconv
54.13
KB
-rwxr-xr-x
pwhistory_helper
18.24
KB
-rwxr-xr-x
pwunconv
54.17
KB
-rwxr-xr-x
rarp
37.13
KB
-rwxr-xr-x
readprofile
34.34
KB
-rwxr-xr-x
reboot
1.29
MB
-rwxr-xr-x
remove-shell
1.08
KB
-rwxr-xr-x
resize2fs
62.3
KB
-rwxr-xr-x
resolvconf
146.53
KB
-rwxr-xr-x
rmmod
174.27
KB
-rwxr-xr-x
rmt
59.02
KB
-rwxr-xr-x
rmt-tar
59.02
KB
-rwxr-xr-x
route
69.17
KB
-rwxr-xr-x
rtacct
44.37
KB
-rwxr-xr-x
rtcwake
46.31
KB
-rwxr-xr-x
rtmon
112.45
KB
-rwxr-xr-x
runlevel
1.29
MB
-rwxr-xr-x
runuser
70.31
KB
-rwxr-xr-x
service
8.89
KB
-rwxr-xr-x
setcap
14.23
KB
-rwxr-xr-x
sfdisk
142.3
KB
-rwxr-xr-x
sgdisk
202.41
KB
-rwxr-xr-x
shadowconfig
2.22
KB
-rwxr-xr-x
shutdown
1.29
MB
-rwxr-xr-x
slattach
41.2
KB
-rwxr-xr-x
sshd
1.21
MB
-rwxr-xr-x
start-stop-daemon
43.42
KB
-rwxr-xr-x
sudo_logsrvd
244.57
KB
-rwxr-xr-x
sudo_sendlog
151.41
KB
-rwxr-xr-x
sulogin
54.31
KB
-rwxr-xr-x
swaplabel
18.3
KB
-rwxr-xr-x
swapoff
22.3
KB
-rwxr-xr-x
swapon
50.3
KB
-rwxr-xr-x
switch_root
18.3
KB
-rwxr-xr-x
sync-available
1.42
KB
-rwxr-xr-x
sysctl
30.31
KB
-rwxr-xr-x
tarcat
936
B
-rwxr-xr-x
tc
574
KB
-rwxr-xr-x
tcptraceroute
1.56
KB
-rwxr-xr-x
tcptraceroute.db
1.56
KB
-rwxr-xr-x
telinit
1.29
MB
-rwxr-xr-x
tipc
152.6
KB
-rwxr-xr-x
traceroute
71.23
KB
-rwxr-xr-x
tune2fs
114.52
KB
-rwxr-xr-x
unix_chkpwd
38.24
KB
-rwxr-sr-x
unix_update
38.24
KB
-rwxr-xr-x
update-ca-certificates
5.29
KB
-rwxr-xr-x
update-catalog
9.17
KB
-rwxr-xr-x
update-grub
64
B
-rwxr-xr-x
update-grub2
64
B
-rwxr-xr-x
update-initramfs
6.75
KB
-rwxr-xr-x
update-locale
2.99
KB
-rwxr-xr-x
update-passwd
38.49
KB
-rwxr-xr-x
update-pciids
1.71
KB
-rwxr-xr-x
update-rc.d
17.33
KB
-rwxr-xr-x
update-secureboot-policy
5.13
KB
-rwxr-xr-x
update-shells
3.89
KB
-rwxr-xr-x
update-xmlcatalog
16.88
KB
-rwxr-xr-x
useradd
155.8
KB
-rwxr-xr-x
userdel
110.95
KB
-rwxr-xr-x
usermod
143.61
KB
-rwxr-xr-x
uuidd
38.81
KB
-rwxr-xr-x
validlocale
1.73
KB
-rwxr-xr-x
vdpa
116.66
KB
-rwxr-xr-x
vigr
72.64
KB
-rwxr-xr-x
vipw
72.64
KB
-rwxr-xr-x
visudo
256.63
KB
-rwxr-xr-x
wipefs
46.31
KB
-rwxr-xr-x
xtables-legacy-multi
88.98
KB
-rwxr-xr-x
xtables-monitor
223.16
KB
-rwxr-xr-x
xtables-nft-multi
223.16
KB
-rwxr-xr-x
zic
58.73
KB
-rwxr-xr-x
zramctl
114.42
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : dhclient-script
#!/bin/sh # dhclient-script for Linux. Dan Halbert, March, 1997. # Updated for Linux 2.[12] by Brian J. Murrell, January 1999. # Modified for Debian. Matt Zimmerman and Eloy Paris, December 2003 # Modified to remove useless tests for antiquated kernel versions that # this doesn't even work with anyway, and introduces a dependency on /usr # being mounted, which causes cosmetic errors on hosts that NFS mount /usr # Andrew Pollock, February 2005 # Modified to work on point-to-point links. Andrew Pollock, June 2005 # Modified to support passing the parameters called with to the hooks. Andrew Pollock, November 2005 # The alias handling in here probably still sucks. -mdz # wait for given file to be writable wait_for_rw() { local file=$1 # Find out whether we are going to mount / rw exec 9>&0 </etc/fstab rootmode=rw while read dev mnt type opts dump pass junk; do [ "$mnt" != / ] && continue case "$opts" in ro|ro,*|*,ro|*,ro,*) rootmode=ro ;; esac done exec 0>&9 9>&- # Wait for $file to become writable if [ "$rootmode" = "rw" ]; then while ! { : >> "$file"; } 2>/dev/null; do sleep 0.1 done fi } # update /etc/resolv.conf based on received values make_resolv_conf() { local new_resolv_conf # DHCPv4 if [ -n "$new_domain_search" ] || [ -n "$new_domain_name" ] || [ -n "$new_domain_name_servers" ]; then resolv_conf=$(readlink -f "/etc/resolv.conf" 2>/dev/null) || resolv_conf="/etc/resolv.conf" new_resolv_conf="${resolv_conf}.dhclient-new.$$" wait_for_rw "$new_resolv_conf" rm -f $new_resolv_conf if [ -n "$new_domain_name" ]; then echo domain ${new_domain_name%% *} >>$new_resolv_conf fi if [ -n "$new_domain_search" ]; then if [ -n "$new_domain_name" ]; then domain_in_search_list="" for domain in $new_domain_search; do if [ "$domain" = "${new_domain_name}" ] || [ "$domain" = "${new_domain_name}." ]; then domain_in_search_list="Yes" fi done if [ -z "$domain_in_search_list" ]; then new_domain_search="$new_domain_name $new_domain_search" fi fi echo "search ${new_domain_search}" >> $new_resolv_conf elif [ -n "$new_domain_name" ]; then echo "search ${new_domain_name}" >> $new_resolv_conf fi if [ -n "$new_domain_name_servers" ]; then for nameserver in $new_domain_name_servers; do echo nameserver $nameserver >>$new_resolv_conf done else # keep 'old' nameservers sed -n /^\w*[Nn][Aa][Mm][Ee][Ss][Ee][Rr][Vv][Ee][Rr]/p $resolv_conf >>$new_resolv_conf fi if [ -f $resolv_conf ]; then chown --reference=$resolv_conf $new_resolv_conf chmod --reference=$resolv_conf $new_resolv_conf fi # cat then rm to handle binds (e.g. ip netns exec) cat $new_resolv_conf > $resolv_conf rm -f $new_resolv_conf # DHCPv6 elif [ -n "$new_dhcp6_domain_search" ] || [ -n "$new_dhcp6_name_servers" ]; then resolv_conf=$(readlink -f "/etc/resolv.conf" 2>/dev/null) || resolv_conf="/etc/resolv.conf" new_resolv_conf="${resolv_conf}.dhclient-new.$$" wait_for_rw "$new_resolv_conf" rm -f $new_resolv_conf if [ -n "$new_dhcp6_domain_search" ]; then echo "search ${new_dhcp6_domain_search}" >> $new_resolv_conf fi if [ -n "$new_dhcp6_name_servers" ]; then for nameserver in $new_dhcp6_name_servers; do # append %interface to link-local-address nameservers if [ "${nameserver##fe80::}" != "$nameserver" ] || [ "${nameserver##FE80::}" != "$nameserver" ]; then nameserver="${nameserver}%${interface}" fi echo nameserver $nameserver >>$new_resolv_conf done else # keep 'old' nameservers sed -n /^\w*[Nn][Aa][Mm][Ee][Ss][Ee][Rr][Vv][Ee][Rr]/p $resolv_conf >>$new_resolv_conf fi if [ -f $resolv_conf ]; then chown --reference=$resolv_conf $new_resolv_conf chmod --reference=$resolv_conf $new_resolv_conf fi cat $new_resolv_conf > $resolv_conf rm -f $new_resolv_conf fi } # set host name set_hostname() { if [ -n "$new_host_name" ]; then local current_hostname=$(hostname) # current host name is empty, '(none)' or 'localhost' or differs from new one from DHCP if [ -z "$current_hostname" ] || [ "$current_hostname" = '(none)' ] || [ "$current_hostname" = 'localhost' ] || [ "$current_hostname" = "$old_host_name" ]; then if [ "$new_host_name" != "$current_host_name" ]; then hostname "$new_host_name" fi fi fi } # run given script run_hook() { local script="$1" local exit_status=0 if [ -f $script ]; then . $script exit_status=$? fi if [ -n "$exit_status" ] && [ "$exit_status" -ne 0 ]; then logger -p daemon.err "$script returned non-zero exit status $exit_status" fi return $exit_status } # run scripts in given directory run_hookdir() { local dir="$1" local exit_status=0 if [ -d "$dir" ]; then for script in $(run-parts --list $dir); do run_hook $script exit_status=$((exit_status|$?)) done fi return $exit_status } # Must be used on exit. Invokes the local dhcp client exit hooks, if any. exit_with_hooks() { local exit_status=$1 # Source the documented exit-hook script, if it exists if ! run_hook /etc/dhcp/dhclient-exit-hooks; then exit_status=$? fi # Now run scripts in the Debian-specific directory. if ! run_hookdir /etc/dhcp/dhclient-exit-hooks.d; then exit_status=$? fi exit $exit_status } # The 576 MTU is only used for X.25 and dialup connections # where the admin wants low latency. Such a low MTU can cause # problems with UDP traffic, among other things. As such, # disallow MTUs from 576 and below by default, so that broken # MTUs are ignored, but higher stuff is allowed (1492, 1500, etc). if [ -z "$new_interface_mtu" ] || [ "$new_interface_mtu" -le 576 ]; then new_interface_mtu='' fi # The action starts here # Invoke the local dhcp client enter hooks, if they exist. run_hook /etc/dhcp/dhclient-enter-hooks run_hookdir /etc/dhcp/dhclient-enter-hooks.d # Execute the operation case "$reason" in ### DHCPv4 Handlers MEDIUM|ARPCHECK|ARPSEND) # Do nothing ;; PREINIT) # The DHCP client is requesting that an interface be # configured as required in order to send packets prior to # receiving an actual address. - dhclient-script(8) # ensure interface is up ip link set dev ${interface} up if [ -n "$alias_ip_address" ]; then # flush alias IP from interface ip -4 addr flush dev ${interface} label ${interface}:0 fi ;; BOUND|RENEW|REBIND|REBOOT) set_hostname if [ -n "$old_ip_address" ] && [ -n "$alias_ip_address" ] && [ "$alias_ip_address" != "$old_ip_address" ]; then # alias IP may have changed => flush it ip -4 addr flush dev ${interface} label ${interface}:0 fi if [ -n "$old_ip_address" ] && [ "$old_ip_address" != "$new_ip_address" ]; then # leased IP has changed => flush it ip -4 addr flush dev ${interface} label ${interface} fi if [ -z "$old_ip_address" ] || [ "$old_ip_address" != "$new_ip_address" ] || [ "$reason" = "BOUND" ] || [ "$reason" = "REBOOT" ]; then # new IP has been leased or leased IP changed => set it ip -4 addr add ${new_ip_address}${new_subnet_mask:+/$new_subnet_mask} \ ${new_broadcast_address:+broadcast $new_broadcast_address} \ ${new_dhcp_lease_time:+valid_lft $new_dhcp_lease_time} \ ${new_dhcp_lease_time:+preferred_lft $new_dhcp_lease_time} \ dev ${interface} label ${interface} if [ -n "$new_interface_mtu" ]; then # set MTU ip link set dev ${interface} mtu ${new_interface_mtu} fi # if we have $new_rfc3442_classless_static_routes then we have to # ignore $new_routers entirely if [ ! "$new_rfc3442_classless_static_routes" ]; then # set if_metric if IF_METRIC is set or there's more than one router if_metric="$IF_METRIC" if [ "${new_routers%% *}" != "${new_routers}" ]; then if_metric=${if_metric:-1} fi for router in $new_routers; do if [ "$new_subnet_mask" = "255.255.255.255" ]; then # point-to-point connection => set explicit route ip -4 route add ${router} dev $interface >/dev/null 2>&1 fi # set default route ip -4 route add default via ${router} dev ${interface} \ ${if_metric:+metric $if_metric} >/dev/null 2>&1 if [ -n "$if_metric" ]; then if_metric=$((if_metric+1)) fi done fi else # RENEW||REBIND ip -4 addr change ${new_ip_address}${new_subnet_mask:+/$new_subnet_mask} \ ${new_broadcast_address:+broadcast $new_broadcast_address} \ ${new_dhcp_lease_time:+valid_lft $new_dhcp_lease_time} \ ${new_dhcp_lease_time:+preferred_lft $new_dhcp_lease_time} \ dev ${interface} label ${interface} fi if [ -n "$alias_ip_address" ] && [ "$new_ip_address" != "$alias_ip_address" ]; then # separate alias IP given, which may have changed # => flush it, set it & add host route to it ip -4 addr flush dev ${interface} label ${interface}:0 ip -4 addr add ${alias_ip_address}${alias_subnet_mask:+/$alias_subnet_mask} \ dev ${interface} label ${interface}:0 ip -4 route add ${alias_ip_address} dev ${interface} >/dev/null 2>&1 fi # update /etc/resolv.conf make_resolv_conf ;; EXPIRE|FAIL|RELEASE|STOP) if [ -n "$alias_ip_address" ]; then # flush alias IP ip -4 addr flush dev ${interface} label ${interface}:0 fi if [ -n "$old_ip_address" ]; then # flush leased IP ip -4 addr flush dev ${interface} label ${interface} fi if [ -n "$alias_ip_address" ]; then # alias IP given => set it & add host route to it ip -4 addr add ${alias_ip_address}${alias_subnet_mask:+/$alias_subnet_mask} \ dev ${interface} label ${interface}:0 ip -4 route add ${alias_ip_address} dev ${interface} >/dev/null 2>&1 fi ;; TIMEOUT) if [ -n "$alias_ip_address" ]; then # flush alias IP ip -4 addr flush dev ${interface} label ${interface}:0 fi # set IP from recorded lease ip -4 addr add ${new_ip_address}${new_subnet_mask:+/$new_subnet_mask} \ ${new_broadcast_address:+broadcast $new_broadcast_address} \ ${new_dhcp_lease_time:+valid_lft $new_dhcp_lease_time} \ ${new_dhcp_lease_time:+preferred_lft $new_dhcp_lease_time} \ dev ${interface} label ${interface} if [ -n "$new_interface_mtu" ]; then # set MTU ip link set dev ${interface} mtu ${new_interface_mtu} fi # if there is no router recorded in the lease or the 1st router answers pings if [ -z "$new_routers" ] || ping -q -c 1 "${new_routers%% *}"; then # if we have $new_rfc3442_classless_static_routes then we have to # ignore $new_routers entirely if [ ! "$new_rfc3442_classless_static_routes" ]; then if [ -n "$alias_ip_address" ] && [ "$new_ip_address" != "$alias_ip_address" ]; then # separate alias IP given => set up the alias IP & add host route to it ip -4 addr add ${alias_ip_address}${alias_subnet_mask:+/$alias_subnet_mask} \ dev ${interface} label ${interface}:0 ip -4 route add ${alias_ip_address} dev ${interface} >/dev/null 2>&1 fi # set if_metric if IF_METRIC is set or there's more than one router if_metric="$IF_METRIC" if [ "${new_routers%% *}" != "${new_routers}" ]; then if_metric=${if_metric:-1} fi # set default route for router in $new_routers; do ip -4 route add default via ${router} dev ${interface} \ ${if_metric:+metric $if_metric} >/dev/null 2>&1 if [ -n "$if_metric" ]; then if_metric=$((if_metric+1)) fi done fi # update /etc/resolv.conf make_resolv_conf else # flush all IPs from interface ip -4 addr flush dev ${interface} exit_with_hooks 2 fi ;; ### DHCPv6 Handlers # TODO handle prefix change: ?based on ${old_ip6_prefix} and ${new_ip6_prefix}? PREINIT6) # ensure interface is up ip link set ${interface} up # flush any stale global permanent IPs from interface ip -6 addr flush dev ${interface} scope global permanent ;; BOUND6|RENEW6|REBIND6) if [ "${new_ip6_address}" ]; then # set leased IP ip -6 addr replace ${new_ip6_address} \ dev ${interface} scope global valid_lft ${new_max_life} \ preferred_lft ${new_preferred_life} fi # update /etc/resolv.conf if [ "${reason}" = BOUND6 ] || [ "${new_dhcp6_name_servers}" != "${old_dhcp6_name_servers}" ] || [ "${new_dhcp6_domain_search}" != "${old_dhcp6_domain_search}" ]; then make_resolv_conf fi ;; DEPREF6) # set preferred lifetime of leased IP to 0 ip -6 addr change ${cur_ip6_address} \ dev ${interface} scope global preferred_lft 0 ;; EXPIRE6|RELEASE6|STOP6) if [ -z "${old_ip6_address}" ]; then exit_with_hooks 2 fi # delete leased IP ip -6 addr del ${old_ip6_address} \ dev ${interface} ;; esac exit_with_hooks 0
Close