Linux lionsclub 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.29 (Ubuntu)
: 161.35.52.75 | : 3.145.191.235
Cant Read [ /etc/named.conf ]
7.4.28
www-data
shells.trxsecurity.org
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
Backdoor Scanner
Backdoor Create
Alfa Webshell
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
sbin /
[ HOME SHELL ]
Name
Size
Permission
Action
acpi_available
112
B
-rwxr-xr-x
agetty
55.23
KB
-rwxr-xr-x
apm_available
81
B
-rwxr-xr-x
apparmor_parser
1.41
MB
-rwxr-xr-x
badblocks
26.01
KB
-rwxr-xr-x
blkdeactivate
14.49
KB
-rwxr-xr-x
blkdiscard
26.08
KB
-rwxr-xr-x
blkid
86.11
KB
-rwxr-xr-x
blockdev
38.07
KB
-rwxr-xr-x
bridge
86.16
KB
-rwxr-xr-x
capsh
17.99
KB
-rwxr-xr-x
cfdisk
94.44
KB
-rwxr-xr-x
cgdisk
182.17
KB
-rwxr-xr-x
chcpu
22.07
KB
-rwxr-xr-x
cryptdisks_start
1.11
KB
-rwxr-xr-x
cryptdisks_stop
1.16
KB
-rwxr-xr-x
cryptsetup
86.23
KB
-rwxr-xr-x
cryptsetup-reencrypt
80.96
KB
-rwxr-xr-x
ctrlaltdel
18.07
KB
-rwxr-xr-x
debugfs
217.47
KB
-rwxr-xr-x
depmod
146.18
KB
-rwxr-xr-x
devlink
78.16
KB
-rwxr-xr-x
dhclient
488.42
KB
-rwxr-xr-x
dhclient-script
15.25
KB
-rwxr-xr-x
dmeventd
46.08
KB
-rwxr-xr-x
dmsetup
158.8
KB
-rwxr-xr-x
dmstats
158.8
KB
-rwxr-xr-x
dosfsck
58.08
KB
-rwxr-xr-x
dosfslabel
54.08
KB
-rwxr-xr-x
dumpe2fs
26.08
KB
-rwxr-xr-x
e2fsck
306.72
KB
-rwxr-xr-x
e2image
34.08
KB
-rwxr-xr-x
e2label
102.25
KB
-rwxr-xr-x
e2undo
18.07
KB
-rwxr-xr-x
ebtables
5.99
KB
-rwxr-xr-x
ebtables-restore
9.99
KB
-rwxr-xr-x
ebtables-save
1.63
KB
-rwxr-xr-x
ethtool
338.9
KB
-rwxr-xr-x
fatlabel
54.08
KB
-rwxr-xr-x
fdisk
122.13
KB
-rwxr-xr-x
findfs
10.07
KB
-rwxr-xr-x
fixparts
62.17
KB
-rwxr-xr-x
fsadm
23.5
KB
-rwxr-xr-x
fsck
46.13
KB
-rwxr-xr-x
fsck.cramfs
34.11
KB
-rwxr-xr-x
fsck.ext2
306.72
KB
-rwxr-xr-x
fsck.ext3
306.72
KB
-rwxr-xr-x
fsck.ext4
306.72
KB
-rwxr-xr-x
fsck.fat
58.08
KB
-rwxr-xr-x
fsck.minix
90.1
KB
-rwxr-xr-x
fsck.msdos
58.08
KB
-rwxr-xr-x
fsck.vfat
58.08
KB
-rwxr-xr-x
fsck.xfs
433
B
-rwxr-xr-x
fsfreeze
10.07
KB
-rwxr-xr-x
fstab-decode
5.99
KB
-rwxr-xr-x
fstrim
42.08
KB
-rwxr-xr-x
gdisk
190.17
KB
-rwxr-xr-x
getcap
9.99
KB
-rwxr-xr-x
getpcaps
9.99
KB
-rwxr-xr-x
getty
55.23
KB
-rwxr-xr-x
halt
178.08
KB
-rwxr-xr-x
hdparm
128.18
KB
-rwxr-xr-x
hwclock
58.19
KB
-rwxr-xr-x
ifconfig
77.11
KB
-rwxr-xr-x
init
1.54
MB
-rwxr-xr-x
insmod
146.18
KB
-rwxr-xr-x
installkernel
2.58
KB
-rwxr-xr-x
integritysetup
39.66
KB
-rwxr-xr-x
ip
545.12
KB
-rwxr-xr-x
ip6tables
92.74
KB
-rwxr-xr-x
ip6tables-restore
92.74
KB
-rwxr-xr-x
ip6tables-save
92.74
KB
-rwxr-xr-x
ipmaddr
17.99
KB
-rwxr-xr-x
iptables
92.74
KB
-rwxr-xr-x
iptables-restore
92.74
KB
-rwxr-xr-x
iptables-save
92.74
KB
-rwxr-xr-x
iptunnel
21.99
KB
-rwxr-xr-x
iscsi-iname
9.99
KB
-rwxr-xr-x
iscsi_discovery
5.16
KB
-rwxr-xr-x
iscsiadm
381.95
KB
-rwxr-xr-x
iscsid
398.15
KB
-rwxr-xr-x
iscsistart
358.13
KB
-rwxr-xr-x
isosize
22.08
KB
-rwxr-xr-x
kbdrate
9.99
KB
-rwxr-xr-x
killall5
22.08
KB
-rwxr-xr-x
ldconfig
387
B
-rwxr-xr-x
ldconfig.real
1001.67
KB
-rwxr-xr-x
logsave
10
KB
-rwxr-xr-x
losetup
82.19
KB
-rwxr-xr-x
lsmod
146.18
KB
-rwxr-xr-x
lvchange
2.42
MB
-rwxr-xr-x
lvconvert
2.42
MB
-rwxr-xr-x
lvcreate
2.42
MB
-rwxr-xr-x
lvdisplay
2.42
MB
-rwxr-xr-x
lvextend
2.42
MB
-rwxr-xr-x
lvm
2.42
MB
-rwxr-xr-x
lvmconf
12.55
KB
-rwxr-xr-x
lvmconfig
2.42
MB
-rwxr-xr-x
lvmdiskscan
2.42
MB
-rwxr-xr-x
lvmdump
10.07
KB
-rwxr-xr-x
lvmetad
82.13
KB
-rwxr-xr-x
lvmpolld
70.45
KB
-rwxr-xr-x
lvmsadc
2.42
MB
-rwxr-xr-x
lvmsar
2.42
MB
-rwxr-xr-x
lvreduce
2.42
MB
-rwxr-xr-x
lvremove
2.42
MB
-rwxr-xr-x
lvrename
2.42
MB
-rwxr-xr-x
lvresize
2.42
MB
-rwxr-xr-x
lvs
2.42
MB
-rwxr-xr-x
lvscan
2.42
MB
-rwxr-xr-x
mdadm
577.4
KB
-rwxr-xr-x
mdmon
321.24
KB
-rwxr-xr-x
mii-tool
18.46
KB
-rwxr-xr-x
mkdosfs
34.5
KB
-rwxr-xr-x
mke2fs
126.31
KB
-rwxr-xr-x
mkfs
10.07
KB
-rwxr-xr-x
mkfs.bfs
30.08
KB
-rwxr-xr-x
mkfs.cramfs
34.01
KB
-rwxr-xr-x
mkfs.ext2
126.31
KB
-rwxr-xr-x
mkfs.ext3
126.31
KB
-rwxr-xr-x
mkfs.ext4
126.31
KB
-rwxr-xr-x
mkfs.fat
34.5
KB
-rwxr-xr-x
mkfs.minix
78.09
KB
-rwxr-xr-x
mkfs.msdos
34.5
KB
-rwxr-xr-x
mkfs.ntfs
78.11
KB
-rwxr-xr-x
mkfs.vfat
34.5
KB
-rwxr-xr-x
mkfs.xfs
423.52
KB
-rwxr-xr-x
mkhomedir_helper
18.02
KB
-rwxr-xr-x
mkntfs
78.11
KB
-rwxr-xr-x
mkswap
78.08
KB
-rwxr-xr-x
modinfo
146.18
KB
-rwxr-xr-x
modprobe
146.18
KB
-rwxr-xr-x
mount.fuse
9.99
KB
-rwxr-xr-x
mount.lowntfs-3g
106.67
KB
-rwxr-xr-x
mount.ntfs
142.7
KB
-rwxr-xr-x
mount.ntfs-3g
142.7
KB
-rwxr-xr-x
mount.vmhgfs
42.16
KB
-rwxr-xr-x
nameif
14.14
KB
-rwxr-xr-x
ntfsclone
54.12
KB
-rwxr-xr-x
ntfscp
34.1
KB
-rwxr-xr-x
ntfslabel
26.1
KB
-rwxr-xr-x
ntfsresize
70.12
KB
-rwxr-xr-x
ntfsundelete
50.1
KB
-rwxr-xr-x
on_ac_power
2.16
KB
-rwxr-xr-x
pam_extrausers_chkpwd
34
KB
-rwxr-sr-x
pam_extrausers_update
34
KB
-rwxr-xr-x
pam_tally
10.01
KB
-rwxr-xr-x
pam_tally2
14.01
KB
-rwxr-xr-x
parted
78.09
KB
-rwxr-xr-x
partprobe
10.07
KB
-rwxr-xr-x
pivot_root
10.07
KB
-rwxr-xr-x
plipconfig
10
KB
-rwxr-xr-x
plymouthd
90.25
KB
-rwxr-xr-x
poweroff
178.08
KB
-rwxr-xr-x
pvchange
2.42
MB
-rwxr-xr-x
pvck
2.42
MB
-rwxr-xr-x
pvcreate
2.42
MB
-rwxr-xr-x
pvdisplay
2.42
MB
-rwxr-xr-x
pvmove
2.42
MB
-rwxr-xr-x
pvremove
2.42
MB
-rwxr-xr-x
pvresize
2.42
MB
-rwxr-xr-x
pvs
2.42
MB
-rwxr-xr-x
pvscan
2.42
MB
-rwxr-xr-x
rarp
32.45
KB
-rwxr-xr-x
raw
14.07
KB
-rwxr-xr-x
reboot
178.08
KB
-rwxr-xr-x
resize2fs
58.07
KB
-rwxr-xr-x
rmmod
146.18
KB
-rwxr-xr-x
route
64.3
KB
-rwxr-xr-x
rtacct
40.13
KB
-rwxr-xr-x
rtmon
50
KB
-rwxr-xr-x
runlevel
178.08
KB
-rwxr-xr-x
runuser
42.07
KB
-rwxr-xr-x
setcap
9.99
KB
-rwxr-xr-x
setvtrgb
14.13
KB
-rwxr-xr-x
sfdisk
106.08
KB
-rwxr-xr-x
sgdisk
174.17
KB
-rwxr-xr-x
shadowconfig
885
B
-rwxr-xr-x
shutdown
178.08
KB
-rwxr-xr-x
slattach
40.45
KB
-rwxr-xr-x
start-stop-daemon
35.1
KB
-rwxr-xr-x
sulogin
46.08
KB
-rwxr-xr-x
swaplabel
14.07
KB
-rwxr-xr-x
swapoff
18.07
KB
-rwxr-xr-x
swapon
46.08
KB
-rwxr-xr-x
switch_root
14.07
KB
-rwxr-xr-x
sysctl
22.07
KB
-rwxr-xr-x
tc
453.79
KB
-rwxr-xr-x
telinit
178.08
KB
-rwxr-xr-x
tipc
53.99
KB
-rwxr-xr-x
tune2fs
102.25
KB
-rwxr-xr-x
udevadm
574.4
KB
-rwxr-xr-x
unix_chkpwd
34
KB
-rwxr-sr-x
unix_update
34
KB
-rwxr-xr-x
ureadahead
34.34
KB
-rwxr-xr-x
veritysetup
35.45
KB
-rwxr-xr-x
vgcfgbackup
2.42
MB
-rwxr-xr-x
vgcfgrestore
2.42
MB
-rwxr-xr-x
vgchange
2.42
MB
-rwxr-xr-x
vgck
2.42
MB
-rwxr-xr-x
vgconvert
2.42
MB
-rwxr-xr-x
vgcreate
2.42
MB
-rwxr-xr-x
vgdisplay
2.42
MB
-rwxr-xr-x
vgexport
2.42
MB
-rwxr-xr-x
vgextend
2.42
MB
-rwxr-xr-x
vgimport
2.42
MB
-rwxr-xr-x
vgimportclone
2.42
MB
-rwxr-xr-x
vgmerge
2.42
MB
-rwxr-xr-x
vgmknodes
2.42
MB
-rwxr-xr-x
vgreduce
2.42
MB
-rwxr-xr-x
vgremove
2.42
MB
-rwxr-xr-x
vgrename
2.42
MB
-rwxr-xr-x
vgs
2.42
MB
-rwxr-xr-x
vgscan
2.42
MB
-rwxr-xr-x
vgsplit
2.42
MB
-rwxr-xr-x
wipefs
38.08
KB
-rwxr-xr-x
xfs_repair
631.16
KB
-rwxr-xr-x
xtables-multi
92.74
KB
-rwxr-xr-x
zramctl
90.19
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : dhclient-script
#!/bin/sh # Explicitly set the PATH to that of ENV_SUPATH in /etc/login.defs and unset # various other variables. We need to do this so /sbin/dhclient cannot abuse # the environment to escape AppArmor confinement via this script # (LP: #1045986). This can be removed once AppArmor supports environment # filtering (LP: #1045985) export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin export ENV= export BASH_ENV= export CDPATH= export GLOBIGNORE= export BASH_XTRACEFD= # 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 # log an error. error() { logger -p daemon.err "$@"; } # 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 mv -f $new_resolv_conf $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 mv -f $new_resolv_conf $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 } # set the link up and wait for ipv6 link local dad to finish ipv6_link_up_and_dad() { local dev=$1 delay=${2:-0.1} attempts=${3:-60} ip link set up dev "$dev" || { error "$dev: failed to set link up"; return 1; } local n=0 while :; do n=$((n+1)) # note: busybox ip does not understand 'tentative' as input # so we cannot just use the tentative flag and check for empty out=$(ip -6 -o address show dev "$dev" scope link) || { error "$dev: checking for link-local addresses failed"; return 1 } # another note: the output may be empty if the link local tentative addr # isn't up just yet, so we need to make sure there is at least one 'inet6' # match before returning success. We need to keep checking for both # 'tentative' case and default (no inet6 address) case. (LP: #1718568) # Don't reorder tentative/inet6 - we need to check for tentative first. case " $out " in *\ dadfailed\ *) error "$dev: ipv6 dad failed." return 1;; *\ tentative\ *) :;; *\ inet6\ *) return 0;; *) :;; esac [ $n -lt $attempts ] || { error "$dev: time out waiting for permanent link-local address" return 1; } sleep $delay done } # 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} \ 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 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} \ 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 ipv6_link_up_and_dad "$interface" # 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 add ${new_ip6_address} \ dev ${interface} scope global 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