From 910b41842127b187592d3a5b3675b43d3007f220 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 24 Sep 2024 17:39:43 +0000 Subject: [PATCH] chore(release): 1.63.0 --- CHANGELOG.md | 20 ++++ docs/resources/ip_hotspot.md | 41 +++++++ docs/resources/ip_hotspot_ip_binding.md | 37 +++++++ docs/resources/ip_hotspot_profile.md | 64 +++++++++++ docs/resources/ip_hotspot_service_port.md | 34 ++++++ docs/resources/ip_hotspot_user.md | 46 ++++++++ docs/resources/ip_hotspot_user_profile.md | 66 +++++++++++ docs/resources/ip_hotspot_walled_garden.md | 39 +++++++ docs/resources/ip_hotspot_walled_garden_ip.md | 45 ++++++++ docs/resources/tool_sniffer.md | 104 ++++++++++++++++++ package.json | 2 +- 11 files changed, 497 insertions(+), 1 deletion(-) create mode 100644 docs/resources/ip_hotspot.md create mode 100644 docs/resources/ip_hotspot_ip_binding.md create mode 100644 docs/resources/ip_hotspot_profile.md create mode 100644 docs/resources/ip_hotspot_service_port.md create mode 100644 docs/resources/ip_hotspot_user.md create mode 100644 docs/resources/ip_hotspot_user_profile.md create mode 100644 docs/resources/ip_hotspot_walled_garden.md create mode 100644 docs/resources/ip_hotspot_walled_garden_ip.md create mode 100644 docs/resources/tool_sniffer.md diff --git a/CHANGELOG.md b/CHANGELOG.md index bd83a0cf..7c3f3ade 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,23 @@ +## [1.63.0](https://github.com/terraform-routeros/terraform-provider-routeros/compare/v1.62.0...v1.63.0) (2024-09-24) + + +### Features + +* Add new resource `routeros_tool_sniffer` ([f046966](https://github.com/terraform-routeros/terraform-provider-routeros/commit/f0469663fe7ea395825dc92c6a246e09dcd0f81c)) +* **hotspot:** Add new resource `routeros_ip_hotspot_ip_binding` ([f2e27b4](https://github.com/terraform-routeros/terraform-provider-routeros/commit/f2e27b4732f863400c6f6c7f8341315019623f47)) +* **hotspot:** Add new resource `routeros_ip_hotspot_profile` ([06b974b](https://github.com/terraform-routeros/terraform-provider-routeros/commit/06b974bdfbd6508a3f32a6b52456f0c8a6ba10b0)) +* **hotspot:** Add new resource `routeros_ip_hotspot_service_port` ([153bf68](https://github.com/terraform-routeros/terraform-provider-routeros/commit/153bf68723a1def279431593ed5f5cc2bf2f1ddc)) +* **hotspot:** Add new resource `routeros_ip_hotspot_user_profile` ([4de2db9](https://github.com/terraform-routeros/terraform-provider-routeros/commit/4de2db943c82de89e2081b8b32ffed8621f42ab9)) +* **hotspot:** Add new resource `routeros_ip_hotspot_user` ([b897532](https://github.com/terraform-routeros/terraform-provider-routeros/commit/b897532232c12245b4c92f27ca129ebe8f6c8d31)) +* **hotspot:** Add new resource `routeros_ip_hotspot_walled_garden_ip` ([92778ff](https://github.com/terraform-routeros/terraform-provider-routeros/commit/92778ff184124ce8d2d7dc0dfc266b29b6f306ef)) +* **hotspot:** Add new resource `routeros_ip_hotspot_walled_garden` ([9c111ee](https://github.com/terraform-routeros/terraform-provider-routeros/commit/9c111eeefa0ce90e0bc2f02c9c2d9a4794487cbe)) +* **hotspot:** Add new resource `routeros_ip_hotspot` ([1da8f3d](https://github.com/terraform-routeros/terraform-provider-routeros/commit/1da8f3d755ec0a35836b67037d57e40d27d3453f)) + + +### Bug Fixes + +* **dns_adlist:** Change an invalid resource name. ([e77bcbf](https://github.com/terraform-routeros/terraform-provider-routeros/commit/e77bcbf6f3bccfc3271269a4ad1fbff00038cfaf)), closes [#554](https://github.com/terraform-routeros/terraform-provider-routeros/issues/554) + ## [1.62.0](https://github.com/terraform-routeros/terraform-provider-routeros/compare/v1.61.2...v1.62.0) (2024-09-19) diff --git a/docs/resources/ip_hotspot.md b/docs/resources/ip_hotspot.md new file mode 100644 index 00000000..827cab69 --- /dev/null +++ b/docs/resources/ip_hotspot.md @@ -0,0 +1,41 @@ +# routeros_ip_hotspot (Resource) + + +## Example Usage +```terraform +resource "routeros_ip_hotspot" "test" { + name = "server-1" + interface = "ether2" +} +``` + + +## Schema + +### Required + +- `interface` (String) Interface to run HotSpot on. +- `name` (String) HotSpot server's name or identifier. + +### Optional + +- `address_pool` (String) Address space used to change HotSpot client any IP address to a valid address. Useful for providing public network access to mobile clients that are not willing to change their networking settings. +- `addresses_per_mac` (String) Number of IP addresses allowed to be bind with the MAC address, when multiple HotSpot clients connected with one MAC-address. +- `disabled` (Boolean) +- `idle_timeout` (String) Period of inactivity for unauthorized clients. When there is no traffic from this client (literally client computer should be switched off), once the timeout is reached, a user is dropped from the HotSpot host list, its used address becomes available. +- `keepalive_timeout` (String) The exact value of the keepalive-timeout, that is applied to the user. Value shows how long the host can stay out of reach to be removed from the HotSpot. +- `login_timeout` (String) Period of time after which if a host hasn't been authorized itself with a system the host entry gets deleted from host table. Loop repeats until the host logs in the system. Enable if there are situations where a host cannot log in after being too long in the host table unauthorized. +- `profile` (String) HotSpot server default HotSpot profile, which is located in `/ip/hotspot/profile`. + +### Read-Only + +- `id` (String) The ID of this resource. +- `invalid` (Boolean) + +## Import +Import is supported using the following syntax: +```shell +#The ID can be found via API or the terminal +#The command for the terminal is -> :put [/ip/hotspot get [print show-ids]] +terraform import routeros_ip_hotspot.test *3 +``` diff --git a/docs/resources/ip_hotspot_ip_binding.md b/docs/resources/ip_hotspot_ip_binding.md new file mode 100644 index 00000000..93033960 --- /dev/null +++ b/docs/resources/ip_hotspot_ip_binding.md @@ -0,0 +1,37 @@ +# routeros_ip_hotspot_ip_binding (Resource) + + +## Example Usage +```terraform +resource "routeros_ip_hotspot_ip_binding" "test" { + address = "0.0.0.1" + comment = "comment" + mac_address = "00:00:00:00:01:10" + to_address = "0.0.0.2" +} +``` + + +## Schema + +### Optional + +- `address` (String) The original IP address of the client. +- `comment` (String) +- `disabled` (Boolean) +- `mac_address` (String) MAC address of the client. +- `server` (String) Name of the HotSpot server. `all` - will be applied to all hotspot servers. +- `to_address` (String) New IP address of the client, translation occurs on the router (client does not know anything about the translation). +- `type` (String) Type of the IP-binding action `regular` - performs One-to-One NAT according to the rule, translates the address to to-address; `bypassed` - performs the translation, but excludes client from login to the HotSpot; `blocked` - translation is not performed and packets from a host are dropped. + +### Read-Only + +- `id` (String) The ID of this resource. + +## Import +Import is supported using the following syntax: +```shell +#The ID can be found via API or the terminal +#The command for the terminal is -> :put [/ip/hotspot/ip-binding get [print show-ids]] +terraform import routeros_ip_hotspot_ip_binding.test *3 +``` diff --git a/docs/resources/ip_hotspot_profile.md b/docs/resources/ip_hotspot_profile.md new file mode 100644 index 00000000..8dd982d3 --- /dev/null +++ b/docs/resources/ip_hotspot_profile.md @@ -0,0 +1,64 @@ +# routeros_ip_hotspot_profile (Resource) + + +## Example Usage +```terraform +resource "routeros_ip_hotspot_profile" "test" { + name = "hsprof-1" + login_by = ["mac", "https", "trial"] + use_radius = true +} +``` + + +## Schema + +### Required + +- `name` (String) Descriptive name of the profile. + +### Optional + +- `dns_name` (String) DNS name of the HotSpot server (it appears as the location of the login page). This name will automatically be added as a static DNS entry in the DNS cache. Name can affect if Hotspot is automatically detected by client device. For example, iOS devices may not detect Hotspot that has a name which includes `.local`. +- `hotspot_address` (String) IP address of HotSpot service. +- `html_directory` (String) Directory name in which HotSpot HTML pages are stored (by default hotspot directory). It is possible to specify different directory with modified HTML pages. To change HotSpot login page, connect to the router with FTP and download hotspot directory contents. v6.31 and older software builds: For devices where `flash` directory is present, hotspot html directory must be stored there and path must be typed in as follows: `/(hotspot_dir)`. This must be done in this order as hotspot sees `flash` directory as root location. v6.32 and newer software builds: full path must be typed in html-directory field, including `/flash/(hotspot_dir)`. +- `html_directory_override` (String) Alternative path for hotspot html files. It should be used only if customized hotspot html files are stored on external storage(attached usb, hdd, etc). If configured then hotspot will switch to this html path as soon at it becomes available and switch back to html-directory path if override path becomes non-available for some reason. +- `http_cookie_lifetime` (String) HTTP cookie validity time, the option is related to cookie HotSpot login method. +- `http_proxy` (String) Address and port of the proxy server for HotSpot service, when default value is used all request are resolved by the local `/ip proxy`. +- `https_redirect` (Boolean) Whether to redirect unauthenticated user to hotspot login page, if he is visiting a https:// url. Since certificate domain name will mismatch, often this leads to errors, so you can set this parameter to `no` and all https requests will simply be rejected and user will have to visit a http page. +- `login_by` (Set of String) Used HotSpot authentication method +* mac-cookie - enables login by mac cookie method. +* cookie - may only be used with other HTTP authentication method. HTTP cookie is generated, when user authenticates in HotSpot for the first time. User is not asked for the login/password and authenticated automatically, until cookie-lifetime is active. +* http-chap - login/password is required for the user to authenticate in HotSpot. CHAP challenge-response method with MD5 hashing algorithm is used for protecting passwords. +* http-pap - login/password is required for user to authenticate in HotSpot. Username and password are sent over network in plain text. +* https - login/password is required for user to authenticate in HotSpot. Client login/password exchange between client and server is encrypted with SSL tunnel. +* mac - client is authenticated without asking login form. Client MAC-address is added to `/ip hotspot user` database, client is authenticated as soon as connected to the HotSpot +* trial - client is allowed to use internet without HotSpot login for the specified amount of time. +- `mac_auth_mode` (String) Allows to control User-Name and User-Password RADIUS attributes when using MAC authentication. +- `mac_auth_password` (String, Sensitive) Used together with MAC authentication, field used to specify password for the users to be authenticated by their MAC addresses. The following option is required, when specific RADIUS server rejects authentication for the clients with blank password. +- `nas_port_type` (String) `NAS-Port-Type` value to be sent to RADIUS server, `NAS-Port-Type` values are described in the RADIUS RFC 2865. This optional value attribute indicates the type of the physical port of the HotSpot server. +- `radius_accounting` (Boolean) Send RADIUS server accounting information for each user, when yes is used. +- `radius_default_domain` (String) Default domain to use for RADIUS requests. Allows to use separate RADIUS server per `/ip hotspot profile`. If used, same domain name should be specified under `/radius domain` value. +- `radius_interim_update` (String) How often to send accounting updates . When received is set, interim-time is used from RADIUS server. 0s is the same as received. +- `radius_location_name` (String) `RADIUS-Location-Id` to be sent to RADIUS server. Used to identify location of the HotSpot server during the communication with RADIUS server. Value is optional and used together with RADIUS server. +- `radius_mac_format` (String) Controls how the MAC address of the client is encoded in the `User-Name` and `User-Password` attributes when using MAC authentication. +- `rate_limit` (String) Rate limitation in form of rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] [rx-burst-threshold[/tx-burst-threshold] [rx-burst-time[/tx-burst-time]]]] [priority] [rx-rate-min[/tx-rate-min]] from the point of view of the router (so `rx` is client upload, and `tx` is client download). All rates should be numbers with optional 'k' (1,000s) or 'M' (1,000,000s). If tx-rate is not specified, rx-rate is as tx-rate too. Same goes for tx-burst-rate and tx-burst-threshold and tx-burst-time. If both rx-burst-threshold and tx-burst-threshold are not specified (but burst-rate is specified), rx-rate and tx-rate is used as burst thresholds. If both rx-burst-time and tx-burst-time are not specified, 1s is used as default. rx-rate-min and tx-rate min are the values of limit-at properties. +- `smtp_server` (String) SMTP server address to be used to redirect HotSpot users SMTP requests. +- `split_user_domain` (Boolean) Split username from domain name when the username is given in `user@domain` or in `domain\user` format from RADIUS server. +- `ssl_certificate` (String) Name of the SSL certificate on the router to to use only for HTTPS authentication. +- `trial_uptime_limit` (String) Used only with trial authentication method. Time value specifies, how long trial user identified by MAC address can use access to public networks without HotSpot authentication. +- `trial_uptime_reset` (String) Used only with trial authentication method. +- `trial_user_profile` (String) Specifies hotspot user profile for trial users. +- `use_radius` (Boolean) Use RADIUS to authenticate HotSpot users. + +### Read-Only + +- `id` (String) The ID of this resource. + +## Import +Import is supported using the following syntax: +```shell +#The ID can be found via API or the terminal +#The command for the terminal is -> :put [/ip/hotspot/profile get [print show-ids]] +terraform import routeros_ip_hotspot_profile.test *3 +``` diff --git a/docs/resources/ip_hotspot_service_port.md b/docs/resources/ip_hotspot_service_port.md new file mode 100644 index 00000000..e15e6243 --- /dev/null +++ b/docs/resources/ip_hotspot_service_port.md @@ -0,0 +1,34 @@ +# routeros_ip_hotspot_service_port (Resource) + + +## Example Usage +```terraform +resource "routeros_ip_hotspot_service_port" "test" { + name = "ftp" + disabled = true +} +``` + + +## Schema + +### Required + +- `name` (String) Service name. + +### Optional + +- `disabled` (Boolean) + +### Read-Only + +- `id` (String) The ID of this resource. +- `ports` (String) + +## Import +Import is supported using the following syntax: +```shell +#The ID can be found via API or the terminal +#The command for the terminal is -> :put [/ip/hotspot/service-port get [print show-ids]] +terraform import routeros_ip_hotspot_service_port.test *1 +``` diff --git a/docs/resources/ip_hotspot_user.md b/docs/resources/ip_hotspot_user.md new file mode 100644 index 00000000..4c7421ca --- /dev/null +++ b/docs/resources/ip_hotspot_user.md @@ -0,0 +1,46 @@ +# routeros_ip_hotspot_user (Resource) + + +## Example Usage +```terraform +resource "routeros_ip_hotspot_user" "test" { + name = "user-1" +} +``` + + +## Schema + +### Required + +- `name` (String) HotSpot login page username, when MAC-address authentication is used name is configured as client's MAC-address. + +### Optional + +- `address` (Number) IP address, when specified client will get the address from the HotSpot one-to-one NAT translations. Address does not restrict HotSpot login only from this address. +- `comment` (String) +- `disabled` (Boolean) +- `email` (String) HotSpot client's e-mail, informational value for the HotSpot user. +- `limit_bytes_in` (Number) Maximal amount of bytes that can be received from the user. User is disconnected from HotSpot after the limit is reached. +- `limit_bytes_out` (Number) Maximal amount of bytes that can be transmitted from the user. User is disconnected from HotSpot after the limit is reached. +- `limit_bytes_total` (Number) (limit-bytes-in+limit-bytes-out). User is disconnected from HotSpot after the limit is reached. +- `limit_uptime` (Number) Uptime limit for the HotSpot client, user is disconnected from HotSpot as soon as uptime is reached. +- `mac_address` (Number) Client is allowed to login only from the specified MAC-address. If value is 00:00:00:00:00:00, any mac address is allowed. +- `password` (String, Sensitive) User password. +- `profile` (String) User profile configured in `/ip hotspot user profile`. +- `routes` (String) Routes added to HotSpot gateway when client is connected. The route format dst-address gateway metric (for example, `192.168.1.0/24 192.168.0.1 1`). +- `server` (String) HotSpot server's name to which user is allowed login. + +### Read-Only + +- `default` (Boolean) It's the default rule. +- `dynamic` (Boolean) Configuration item created by software, not by management interface. It is not exported, and cannot be directly modified. +- `id` (String) The ID of this resource. + +## Import +Import is supported using the following syntax: +```shell +#The ID can be found via API or the terminal +#The command for the terminal is -> :put [/ip/hotspot/user get [print show-ids]] +terraform import routeros_ip_hotspot_user.test *3 +``` diff --git a/docs/resources/ip_hotspot_user_profile.md b/docs/resources/ip_hotspot_user_profile.md new file mode 100644 index 00000000..b0507674 --- /dev/null +++ b/docs/resources/ip_hotspot_user_profile.md @@ -0,0 +1,66 @@ +# routeros_ip_hotspot_user_profile (Resource) + + +## Example Usage +```terraform +resource "routeros_ip_hotspot_user_profile" "test" { + add_mac_cookie = true + address_list = "list-1" + idle_timeout = "none" + keepalive_timeout = "2m" + mac_cookie_timeout = "3d" + name = "new-profile" + shared_users = 3 + status_autorefresh = "2m" + transparent_proxy = true + advertise = true +} +``` + + +## Schema + +### Required + +- `name` (String) Descriptive name of the profile. + +### Optional + +- `add_mac_cookie` (Boolean) Allows to add mac cookie for users. +- `address_list` (String) Name of the address list in which users IP address will be added. Useful to mark traffic per user groups for queue tree configurations. +- `address_pool` (String) IP pool name from which the user will get IP. When user has improper network settings configuration on the computer, HotSpot server makes translation and assigns correct IP address from the pool instead of incorrect one. +- `advertise` (Boolean) Enable forced advertisement popups. After certain interval specific web-page is being displayed for HotSpot users. Advertisement page might be blocked by browsers popup blockers. +- `advertise_interval` (Set of String) Set of intervals between advertisement popups. After the list is done, the last value is used for all further advertisements, 10 minutes. +- `advertise_timeout` (String) How long advertisement is shown, before blocking network access for HotSpot client. Connection to Internet is not allowed, when advertisement is not shown. +- `advertise_url` (String) List of URLs that is show for advertisement popups. After the last URL is used, list starts from the begining. +- `idle_timeout` (String) Maximal period of inactivity for authorized HotSpot clients. Timer is counting, when there is no traffic coming from that client and going through the router, for example computer is switched off. User is logged out, dropped of the host list, the address used by the user is freed, when timeout is reached. +- `incoming_filter` (String) Name of the firewall chain applied to incoming packets from the users of this profile, jump rule is required from built-in chain (input, forward, output) to chain=hotspot. +- `incoming_packet_mark` (String) Packet mark put on incoming packets from every user of this profile. +- `insert_queue_before` (String) +- `keepalive_timeout` (String) Keepalive timeout for authorized HotSpot clients. Used to detect, that the computer of the client is alive and reachable. User is logged out, when timeout value is reached. +- `mac_cookie_timeout` (String) Selects mac-cookie timeout from last login or logout. Read more>>. +- `on_login` (String) Script name to be executed, when user logs in to the HotSpot from the particular profile. It is possible to get username from internal user and interface variable. For example, :log info ``User $user logged in!`` . If hotspot is set on bridge interface, then interface variable will show bridge as actual interface unless use-ip-firewall' is set in bridge settings. List of available variables: $user $username (alternative var name for $user) $address $``mac-address`` $interface. +- `on_logout` (String) Script name to be executed, when user logs out from the HotSpot.It is possible to get username from internal user and interface variable. For example, :log info ``User $user logged in!`` . If hotspot is set on bridge interface, then interface variable will show bridge as actual interface unless use-ip-firewall is set in bridge settings. List of available variables: $user $username (alternative var name for $user) $address $``mac-address`` $interface $cause Starting with v6.34rc11 some additional variables are available: $uptime-secs - final session time in seconds $bytes-in - bytes uploaded $bytes-out - bytes downloaded $bytes-total - bytes up + bytes down $packets-in - packets uploaded $packets-out - packets downloaded $packets-total - packets up + packets down. +- `open_status_page` (String) Option to show status page for user authenticated with mac login method. For example to show advertisement on status page (alogin.html) http-login - open status page only for HTTP login (includes cookie and HTTPS) always - open HTTP status page in case of mac login as well. +- `outgoing_filter` (String) Name of the firewall chain applied to outgoing packets from the users of this profile, jump rule is required from built-in chain (input, forward, output) to chain=hotspot. +- `outgoing_packet_mark` (String) Packet mark put on outgoing packets from every user of this profile. +- `parent_queue` (String) +- `queue_type` (String) +- `rate_limit` (String) Simple dynamic queue is created for user, once it logs in to the HotSpot. Rate-limitation is configured in the following form [rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] [rx-burst-threshold[/tx-burst-threshold] [rx-burst-time[/tx-burst-time] [priority] [rx-rate-min[/tx-rate-min]]]]. For example, to set 1M download, 512k upload for the client, rate-limit=512k/1M. +- `session_timeout` (String) Allowed session time for client. After this time, the user is logged out unconditionally. +- `shared_users` (Number) Allowed number of simultaneously logged in users with the same HotSpot username. +- `status_autorefresh` (String) HotSpot status page autorefresh interval. +- `transparent_proxy` (Boolean) Use transparent HTTP proxy for the authorized users of this profile. + +### Read-Only + +- `default` (Boolean) It's the default rule. +- `id` (String) The ID of this resource. + +## Import +Import is supported using the following syntax: +```shell +#The ID can be found via API or the terminal +#The command for the terminal is -> :put [/ip/hotspot/user/profile get [print show-ids]] +terraform import routeros_ip_hotspot_user_profile.test *3 +``` diff --git a/docs/resources/ip_hotspot_walled_garden.md b/docs/resources/ip_hotspot_walled_garden.md new file mode 100644 index 00000000..0f4d605a --- /dev/null +++ b/docs/resources/ip_hotspot_walled_garden.md @@ -0,0 +1,39 @@ +# routeros_ip_hotspot_walled_garden (Resource) + + +## Example Usage +```terraform +resource "routeros_ip_hotspot_walled_garden" "test" { + action = "deny" + dst_host = "1.2.3.4" + dst_port = "!443" +} +``` + + +## Schema + +### Optional + +- `action` (String) Action to perform, when packet matches the rule `allow` - allow access to the web-page without authorization, `deny` - the authorization is required to access the web-page. +- `comment` (String) +- `disabled` (Boolean) +- `dst_host` (String) Domain name of the destination web-server. +- `dst_port` (String) TCP port number, client sends request to. +- `method` (String) HTTP method of the request. +- `path` (String) The path of the request, path comes after `http://dst_host/`. +- `server` (String) Name of the HotSpot server, rule is applied to. +- `src_address` (String) Source address of the user, usually IP address of the HotSpot client. + +### Read-Only + +- `dynamic` (Boolean) Configuration item created by software, not by management interface. It is not exported, and cannot be directly modified. +- `id` (String) The ID of this resource. + +## Import +Import is supported using the following syntax: +```shell +#The ID can be found via API or the terminal +#The command for the terminal is -> :put [/ip/hotspot/walled-garden get [print show-ids]] +terraform import routeros_ip_hotspot_walled_garden.test *3 +``` diff --git a/docs/resources/ip_hotspot_walled_garden_ip.md b/docs/resources/ip_hotspot_walled_garden_ip.md new file mode 100644 index 00000000..eb780103 --- /dev/null +++ b/docs/resources/ip_hotspot_walled_garden_ip.md @@ -0,0 +1,45 @@ +# routeros_ip_hotspot_walled_garden_ip (Resource) + + +## Example Usage +```terraform +resource "routeros_ip_hotspot_walled_garden_ip" "test" { + action = "reject" + dst_address = "!0.0.0.0" + dst_address_list = "dlist" + dst_port = "0-65535" + protocol = "tcp" + src_address = "0.0.0.0" + src_address_list = "slist" +} +``` + + +## Schema + +### Optional + +- `action` (String) Action to perform, when packet matches the rule allow - allow access to the web-page without authorization deny - the authorization is required to access the web-page reject - the authorization is required to access the resource, ICMP reject message will be sent to client, when packet will match the rule. +- `comment` (String) +- `disabled` (Boolean) +- `dst_address` (String) Destination IP address, IP address of the WEB-server. Ignored if dst-host is already specified. +- `dst_address_list` (String) Destination IP address list. Ignored if dst-host is already specified. +- `dst_host` (String) Domain name of the destination web-server. When this parameter is specified dynamic entry is added to Walled Garden. +- `dst_port` (String) TCP port number, client sends request to. +- `protocol` (String) IP protocol. +- `server` (String) Name of the HotSpot server, rule is applied to. +- `src_address` (String) Source address of the user, usually IP address of the HotSpot client. +- `src_address_list` (String) Source IP address list. + +### Read-Only + +- `id` (String) The ID of this resource. +- `invalid` (Boolean) + +## Import +Import is supported using the following syntax: +```shell +#The ID can be found via API or the terminal +#The command for the terminal is -> :put [/ip/hotspot/walled-garden/ip get [print show-ids]] +terraform import routeros_ip_hotspot_walled_garden_ip.test *3 +``` diff --git a/docs/resources/tool_sniffer.md b/docs/resources/tool_sniffer.md new file mode 100644 index 00000000..49bbcb9a --- /dev/null +++ b/docs/resources/tool_sniffer.md @@ -0,0 +1,104 @@ +# routeros_tool_sniffer (Resource) + + +## Example Usage +```terraform +resource "routeros_tool_sniffer" "test" { + streaming_enabled = true + streaming_server = "192.168.88.5:37008" + filter_stream = true + + filter_interface = ["ether2"] + filter_direction = "rx" + filter_operator_between_entries = "and" +} +``` + + +## Schema + +### Optional + +- `file_limit` (Number) File size limit. Sniffer will stop when a limit is reached. +- `file_name` (String) Name of the file where sniffed packets will be saved. +- `filter_cpu` (String) CPU core used as a filter. +- `filter_direction` (String) Specifies which direction filtering will be applied. +- `filter_dst_ip_address` (Set of String) Up to 16 IP destination addresses used as a filter. +- `filter_dst_ipv6_address` (Set of String) Up to 16 IPv6 destination addresses used as a filter. +- `filter_dst_mac_address` (Set of String) Up to 16 MAC destination addresses and MAC address masks used as a filter. +- `filter_dst_port` (Set of String) Up to 16 comma-separated destination ports used as a filter. A list of predefined port names is also available, like ssh and telnet. +- `filter_interface` (Set of String) Interface name on which sniffer will be running. all indicates that the sniffer will sniff packets on all interfaces. +- `filter_ip_address` (Set of String) Up to 16 IP addresses used as a filter. +- `filter_ip_protocol` (Set of String) Up to 16 comma-separated IP/IPv6 protocols used as a filter. IP protocols (instead of protocol names, protocol numbers can be used): +* ipsec-ah - IPsec AH protocol +* ipsec-esp - IPsec ESP protocol +* ddp - datagram delivery protocol +* egp - exterior gateway protocol +* ggp - gateway-gateway protocol +* gre - general routing encapsulation +* hmp - host monitoring protocol +* idpr-cmtp - idpr control message transport +* icmp - internet control message protocol +* icmpv6 - internet control message protocol v6 +* igmp - internet group management protocol +* ipencap - ip encapsulated in ip +* ipip - ip encapsulation +* encap - ip encapsulation +* iso-tp4 - iso transport protocol class 4 +* ospf - open shortest path first +* pup - parc universal packet protocol +* pim - protocol independent multicast +* rspf - radio shortest path first +* rdp - reliable datagram protocol +* st - st datagram mode +* tcp - transmission control protocol +* udp - user datagram protocol +* vmtp versatile message transport +* vrrp - virtual router redundancy protocol +* xns-idp - xerox xns idp +* xtp - xpress transfer protocol +- `filter_ipv6_address` (Set of String) Up to 16 IPv6 addresses used as a filter. +- `filter_mac_address` (Set of String) Up to 16 MAC addresses and MAC address masks used as a filter. +- `filter_mac_protocol` (Set of String) Up to 16 comma separated entries used as a filter. Mac protocols (instead of protocol names, protocol number can be used): +* 802.2 - 802.2 Frames (0x0004) +* arp - Address Resolution Protocol (0x0806) +* homeplug-av - HomePlug AV MME (0x88E1) +* ip - Internet Protocol version 4 (0x0800) +* ipv6 - Internet Protocol Version 6 (0x86DD) +* ipx - Internetwork Packet Exchange (0x8137) +* lldp - Link Layer Discovery Protocol (0x88CC) +* loop-protect - Loop Protect Protocol (0x9003) +* mpls-multicast - MPLS multicast (0x8848) +* mpls-unicast - MPLS unicast (0x8847) +* packing-compr - Encapsulated packets with compressed IP packing (0x9001) +* packing-simple - Encapsulated packets with simple IP packing (0x9000) +* pppoe - PPPoE Session Stage (0x8864) +* pppoe-discovery - PPPoE Discovery Stage (0x8863) +* rarp - Reverse Address Resolution Protocol (0x8035) +* service-vlan - Provider Bridging (IEEE 802.1ad) & Shortest Path Bridging IEEE 802.1aq (0x88A8) +* vlan - VLAN-tagged frame (IEEE 802.1Q) and Shortest Path Bridging IEEE 802.1aq with NNI compatibility (0x8100) +- `filter_operator_between_entries` (String) Changes the logic for filters with multiple entries. +- `filter_port` (Set of String) Up to 16 comma-separated ports used as a filter. A list of predefined port names is also available, like ssh and telnet. +- `filter_size` (String) Filters packets of specified size or size range in bytes. +- `filter_src_ip_address` (Set of String) Up to 16 IP source addresses used as a filter. +- `filter_src_ipv6_address` (Set of String) Up to 16 IPv6 source addresses used as a filter. +- `filter_src_mac_address` (Set of String) Up to 16 MAC source addresses and MAC address masks used as a filter. +- `filter_src_port` (Set of String) Up to 16 comma-separated source ports used as a filter. A list of predefined port names is also available, like ssh and telnet. +- `filter_stream` (Boolean) Sniffed packets that are devised for the sniffer server are ignored. +- `filter_vlan` (Set of Number) Up to 16 VLAN IDs used as a filter. +- `memory_limit` (Number) Memory amount used to store sniffed data. +- `memory_scroll` (Boolean) Whether to rewrite older sniffed data when the memory limit is reached. +- `only_headers` (Boolean) Save in the memory only the packet's headers, not the whole packet. +- `streaming_enabled` (Boolean) Defines whether to send sniffed packets to the streaming server. +- `streaming_server` (String) Tazmen Sniffer Protocol (TZSP) stream receiver. + +### Read-Only + +- `id` (String) The ID of this resource. +- `running` (Boolean) + +## Import +Import is supported using the following syntax: +```shell +terraform import routeros_tool_sniffer.test . +``` diff --git a/package.json b/package.json index bb70f55b..ab870f5f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "terraform-provider-routeros", - "version": "1.62.0", + "version": "1.63.0", "repository": { "type": "git", "url": "https://github.com/terraform-routeros/terraform-provider-routeros"