Server IP : 15.235.198.142 / Your IP : 216.73.216.149 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /snap/core24/current/lib/python3/dist-packages/cloudinit/net/netops/ |
Upload File : |
from typing import Optional from cloudinit import subp from cloudinit.net.netops import NetOps class Iproute2(NetOps): @staticmethod def link_up( interface: str, family: Optional[str] = None ) -> subp.SubpResult: family_args = [] if family: family_args = ["-family", family] return subp.subp( ["ip", *family_args, "link", "set", "dev", interface, "up"] ) @staticmethod def link_down( interface: str, family: Optional[str] = None ) -> subp.SubpResult: family_args = [] if family: family_args = ["-family", family] return subp.subp( ["ip", *family_args, "link", "set", "dev", interface, "down"] ) @staticmethod def link_rename(current_name: str, new_name: str): subp.subp(["ip", "link", "set", current_name, "name", new_name]) @staticmethod def add_route( interface: str, route: str, *, gateway: Optional[str] = None, source_address: Optional[str] = None, ): gateway_args = [] source_args = [] if gateway and gateway != "0.0.0.0": gateway_args = ["via", gateway] if source_address: source_args = ["src", source_address] subp.subp( [ "ip", "-4", "route", "replace", route, *gateway_args, "dev", interface, *source_args, ] ) @staticmethod def append_route(interface: str, address: str, gateway: str): gateway_args = [] if gateway and gateway != "0.0.0.0": gateway_args = ["via", gateway] subp.subp( [ "ip", "-4", "route", "append", address, *gateway_args, "dev", interface, ] ) @staticmethod def del_route( interface: str, address: str, *, gateway: Optional[str] = None, source_address: Optional[str] = None, ): gateway_args = [] source_args = [] if gateway and gateway != "0.0.0.0": gateway_args = ["via", gateway] if source_address: source_args = ["src", source_address] subp.subp( [ "ip", "-4", "route", "del", address, *gateway_args, "dev", interface, *source_args, ] ) @staticmethod def get_default_route() -> str: return subp.subp( ["ip", "route", "show", "0.0.0.0/0"], ).stdout @staticmethod def add_addr( interface: str, address: str, broadcast: Optional[str] = None ): broadcast_args = [] if broadcast: broadcast_args = ["broadcast", broadcast] subp.subp( [ "ip", "-family", "inet", "addr", "add", address, *broadcast_args, "dev", interface, ], ) @staticmethod def del_addr(interface: str, address: str): subp.subp( ["ip", "-family", "inet", "addr", "del", address, "dev", interface] ) @staticmethod def flush_addr(interface: str): subp.subp(["ip", "addr", "flush", "dev", interface])