diff --git a/roles/kubernetes/preinstall/tasks/main.yml b/roles/kubernetes/preinstall/tasks/main.yml
index e7955ac76bb43b481d421d8e5e11b20f30a983e3..41a90e29ff0d022cb049202d88d6eeb7124b2a85 100644
--- a/roles/kubernetes/preinstall/tasks/main.yml
+++ b/roles/kubernetes/preinstall/tasks/main.yml
@@ -139,15 +139,28 @@
   when: disable_ipv6_dns and not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
   tags: bootstrap-os
 
+- name: set default sysctl file path
+  set_fact:
+    sysctl_file_path: "/etc/sysctl.d/99-sysctl.conf"
+  tags: bootstrap-os
+
+- name: Stat sysctl file configuration
+  stat: path={{sysctl_file_path}}
+  register: sysctl_file_stat
+  tags: bootstrap-os
+
+- name: Change sysctl file path to link source if linked
+  set_fact:
+    sysctl_file_path: "{{sysctl_file_stat.stat.lnk_source}}"
+  when: sysctl_file_stat.stat.islnk is defined and sysctl_file_stat.stat.islnk
+  tags: bootstrap-os
+
 - name: Enable ip forwarding
-  lineinfile:
-    dest: /etc/sysctl.d/99-sysctl.conf
-    regexp: '^net.ipv4.ip_forward='
-    line: 'net.ipv4.ip_forward=1'
+  sysctl:
+    sysctl_file: "{{sysctl_file_path}}"
+    name: net.ipv4.ip_forward
+    value: 1
     state: present
-    create: yes
-    backup: yes
-    validate: 'sysctl -f %s'
   tags: bootstrap-os
 
 - name: Write openstack cloud-config