• Useful Scripts

    Pinned
    7
    6 Votes
    7 Posts
    16k Views
    J

    We have created a dedicated repository for community scripts: https://github.com/FOGProject/fog-community-scripts. All scripts in this repository are under the MIT license, and contain a brief README describing basic usage.

  • Organizations Using FOG

    Pinned
    113
    0 Votes
    113 Posts
    152k Views
    A

    Organisation Name: Tshwane University of Technology
    Location: South Africa
    Approximate Number of systems: 5000+
    How long: 2017 (though it may be earlier)

  • Requests for Wiki Access <--- ASK HERE

    Pinned
    148
    0 Votes
    148 Posts
    268k Views
    RogueScholarR

    I noticed a couple instances of link rot on the Include Parted Magic page and thought I would update them, but that appears to require registration, so here I am. I’ve been an editor on almost all of the Wikimedia Foundation projects since 2003, so I promise to leave everything in better shape than I found it. 😊

    Thanks,
    RS

  • Please do not cross post on multiple forums with the same question

    Pinned Locked
    2
    1 Votes
    2 Posts
    8k Views
    T

    This seems to [url=https://www.gclubtg.com/]gclub[/url] be happening more often lately [url=https://www.sbobet168.com/]sbobet[/url] than in the past.

  • Wake-On-LAN via fog agent with brand new PC's

    7
    0 Votes
    7 Posts
    25 Views
    Tom ElliottT

    @rdr

    How FOG wakes a host through the fog-agent wake relay Summary

    FOG wakes a host in two ways at the same time. First, the FOG server and the storage nodes send the magic packet on their own subnets. Second, if the relay is on, the server asks up to three awake agents on the host’s subnet to send the packet. The server always picks the target and the senders. An agent only sends.

    The problem

    A Wake-on-LAN (WoL) magic packet is a broadcast. A broadcast stays on one subnet. Before the relay, only the FOG server and the storage nodes sent the packet. So FOG could not wake a host on a subnet with no FOG server and no storage node.

    To send a broadcast to a remote subnet (“directed broadcast”), the routers must forward it. Most networks disable that router feature, because attackers used it for amplification attacks. The wolbroadcast plugin depends on that feature.

    The relay removes the gap. Every such subnet has FOG hosts on it. When one of them is awake, it can send the packet for its neighbor.

    How FOG knows which hosts share a subnet

    Each fog-agent reports its network interfaces to the server on every poll. For each interface, the report gives:

    the IPv4 address and the prefix length (for example, 10.1.5.23 and /24) whether the interface is up and has a link (a NIC with no cable is not up) whether the interface is wireless

    The server does not trust a network address from the agent. It calculates the network address and the broadcast address itself, from the address and the prefix. It stores one row for each address in the hostNetwork table.

    Example:

    Host Reported Network the server calculates Host 41 (asleep) 10.1.5.23/24 10.1.5.0/24 Host 77 (awake) 10.1.5.80/24 10.1.5.0/24 Host 90 (awake) 10.1.0.12/16 10.1.0.0/16

    Hosts 41 and 77 share a subnet: the network address and the prefix are both equal. Host 90 does not share it. Its network address is different, and a /16 and a /24 are never one subnet.

    To find senders, the server does one database lookup. It takes the rows of the sleeping host, and it finds other hosts with the same network address and the same prefix. It then keeps only the hosts that meet all of these conditions:

    The interface is up and has a link. The interface has a broadcast address. A /31 or /32 link has none. The interface is not wireless. An access point does not pass a broadcast to a machine that is asleep, because that machine is no longer connected to the access point. The host polled in the last 900 seconds, so it is probably awake. The host is not the sleeping host.

    The server sorts the result by the most recent poll and keeps the first three.

    Limits of this method The sleeping host must run fog-agent. The server uses the sleeping host’s own last report to find its subnet. A host with the legacy FOG Client, or with no client, has no rows, so the relay cannot help it. The old path still runs for it. The sleeping host’s subnet is its last report. A laptop that moved to a different subnet while off is looked for on the old subnet. Only IPv4. A magic packet uses an IPv4 broadcast. The flow, step by step

    Step: someone asks for a wake. The source is the Wake Up button, a group wake, or a scheduled wol task. Each of these calls Host::wakeOnLAN().

    Step: the old path runs first, and it does not change. The server sends a request to every storage node and to itself. Each of them sends the magic packet on its own subnets. If a storage node shares the host’s subnet, this path is enough.

    Step: the relay path runs as an addition. It does nothing unless the global setting FOG_AGENT_WAKE_RELAY_ENABLED is 1. The default is 0. The server finds up to three senders, as described above. It writes one agentWake row for each pair of sleeping host and sender. Each row expires after 600 seconds.

    Step: the sender agent receives the request on its next poll. The agent does not listen on a network port. The request is part of the normal poll answer:

    "wake": {"targets": [{"id": 41, "macs": ["00:11:22:33:44:55"]}]}

    The block contains no destination address. It contains only the host id and the MACs of that host. The server leaves out pending MACs that nobody approved.

    Step: the agent sends the packet.

    The agent parses each MAC and builds it again. It refuses a MAC that is not valid. It builds the 102-byte magic packet. It sends the packet to UDP port 9, at 255.255.255.255 and at the broadcast address of each of its own interfaces. It sends to at most 32 hosts per poll, and at most one packet for each MAC on each interface.

    Step: the agent reports the result. The result is sent with a packet count, or failed with a reason. The server accepts the result only if a pending agentWake row names this sender and this sleeping host. Otherwise it returns 404. So an agent cannot report on a host that the server did not ask it to wake.

    Why the design has this shape Choice Reason The server picks the target and the senders A magic packet has no authentication. The control must be on who can ask. Only the server knows which hosts are real FOG hosts. The request is part of the poll, with no network port on the agent An open port lets anyone who can reach it ask for a broadcast. The request has no address field An agent that accepts a destination can be used to send traffic at any address. Three senders, not one Extra packets cost almost nothing. With one sender, the wake fails silently if that sender goes to sleep. Requests expire after 600 seconds A laptop that comes back next week must not send an old wake. Off by default One customer machine sends traffic for another. The estate owner must choose that. Wireless interfaces are never senders The access point does not deliver the broadcast to a sleeping machine. The cost: delay

    A relayed wake goes out on the sender’s next poll. With the default interval, that is up to 5 minutes. Most WoL use in FOG is a scheduled overnight task, so the delay is acceptable. The old path still sends immediately.

    What the relay is not It cannot wake a device that FOG does not manage. It does not replace the storage-node path or the wolbroadcast plugin. Agents do not talk to each other. Every decision is the server’s. It does not wake a host across the internet. A magic packet stays on one subnet. Sources Design: fog-agent/docs/design/0011-wake-relay.md Wire format: fog-agent/docs/design/protocol-v1.md, section “Wake” Server: packages/web/src/Agent/WakeRelay.php (senders()), packages/web/src/Agent/NetworkFacts.php, packages/web/src/Items/Host.php (wakeOnLAN()) Agent: internal/network/network.go, internal/provider/wake/
  • Keeping the Windows hostname and the FOG hostname entries in sync

    2
    0 Votes
    2 Posts
    187 Views
    Tom ElliottT

    @ahaeder No:

    The idea of fog client is to rename the host based on what you name the computer within FOG, not the other way around.

    If you want it to be a specific name, and you have the FOG Client installed, set the wanted name in the FOG UI, and the host will change automatically.

  • How to upgrade to FOG 1.6?

    10
    0 Votes
    10 Posts
    610 Views
    Tom ElliottT

    @Valer This should be fixed in latest/greatest

  • FOG Docker image

    6
    0 Votes
    6 Posts
    2k Views
    8

    @Cpasjuste

    Thank you, I appreciate that. And yes, I did spend a lot of time on it.

    I agree that it bypasses the official installer in order to make use of Docker environment variables; however, at this stage, I don’t believe that FOG is going to change so dramatically that it’ll break it often.

    I will add that if this could get adopted as an official docker image, we could work with the FOG team to make sure nothing gets to pushed to the FOG code that would break the container until we can adjust the container as well.

  • Wiping Drive via PXE menu

    12
    0 Votes
    12 Posts
    1k Views
    V

    @Tom-Elliott said in Wiping Drive via PXE menu:

    @vanfifty1 Sweet so it is functional and seems to be much more verbose about the actions it’s performing, thank you!

    Thank you!

    With the experimental init.xz when it said the following in my case: “Erasing /dev/nvme0n1 with an NVMe sanitize block erase (sanact 2)” does this mean the following command was run?: nvme sanitize /dev/nvme0n1 -a 2

    Does this mean the bug is patched? Should I use the experimental init.xz file on the production FOG server? What ramifications will this have? Is it better to wait until this is released in an official version down the road?

  • Using a dedicated Kea DHCP server

    2
    1 Votes
    2 Posts
    877 Views
    Tom ElliottT

    @Alun Thank you and added to documentation and within the installer to try to more cleanly account for this.

  • Choosing Which Storage Node To Deploy Images From

    3
    0 Votes
    3 Posts
    2k Views
    J

    @Tom-Elliott

    Ah man that’s exactly what I needed. Thanks so much sir!

  • FOG Project in MacBooks M4

    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Fog as a backup tool?

    4
    0 Votes
    4 Posts
    2k Views
    H

    @hariskar

    I didn’t really catch the described use case…
    But anyway, if application stores something in the database, then the database need to be backed up, of course. Fully and incrementally also (separate logic).

    If you use application that stores data in the same machine where it is installed, better would be to configure it to store data on the remote database, e.g on specific database server or some other way.
    You can create network drive or other remote storage and point your database files there - if needed to be separate (for each PC).

    This way you have all the data in the same place, and you can make backups of this server or drive more easilly.

    Backuping entire PC with database in it - this can be done, but why?
    It feels strange.

    Example:
    Lets say, employees in your company are working with important documents.
    Do you really want to backup of entire PC (with os and applications and data), instead of storing those documents on secure and reliable remote storage?
    Better solution is to simply make network location (local or in cloud) and let the users to store documents there - so the documents would not be lost if some pc dies.
    If PC dies, then you simply replace the pc and deploy ready to use system image.

  • Sysprep in FOG?

    3
    0 Votes
    3 Posts
    2k Views
    R

    @trent_potter Yes you figured it out. Sysprep is a Windows utility, it has nothing to do with FOG. It is always recommended to sysprep before capturing an image.

  • Host report with image deployment date?

    2
    0 Votes
    2 Posts
    2k Views
    S

    In Reports Menu, Imaging Log You will find this information.

  • FOG Portable

    3
    0 Votes
    3 Posts
    2k Views
    J

    @george1421 I have installed fog with DHCP server but DNS doesn’t work at all (no dns server appear on windows client) so I’m stuck.
    It’s my first time installing DHCP and DNS on Debian so I think I made mistakes.
    DHCP work fine.

    edit : It’s fixed. I forgot to add “option domain-name” and “option domain-name-servers” in dhcpd.conf

    For the script, I think it must be simple to set FOG as DHCP server at startup if after 10 min no IP is given from a DHCP server then set server to static IP and start DHCP and DNS services.
    And then reverse this at shutdown.
    Maybe this can be done manually first.

    edit : Here is the first script.
    I have create files ending with .dhcp for conf for external DHCP/DNS and file ending with .static for conf for local DHCP/DNS.
    It looks to work fine.

    # Configuration actuelle echo "Etat DNS local :" systemctl is-active bind9 echo "Etat DHCP local :" systemctl is-active isc-dhcp-server echo "" loc(){ # Configuration DHCP local echo "DHCP local" # Configuration if [ -e /etc/network/interfaces.static ] then echo "Copie interfaces" cp /etc/network/interfaces.static /etc/network/interfaces else echo "interfaces.static not found" exit 1 fi echo "Redemarrage service reseau" systemctl restart networking.service if [ -e /etc/resolv.conf.static ] then echo "Copie resolv.conf" cp /etc/resolv.conf.static /etc/resolv.conf else echo "resolv.conf.static not found" exit 1 fi # Services systemctl start bind9 systemctl start isc-dhcp-server } ext(){ # Configuration DHCP externe echo "DHCP externe" # Configuration if [ -e /etc/network/interfaces.dhcp ] then echo "Copie interfaces" cp /etc/network/interfaces.dhcp /etc/network/interfaces else echo "interfaces.dhcp not found" exit 1 fi echo "Redemarrage service reseau" systemctl restart networking.service if [ -e /etc/resolv.conf.dhcp ] then echo "Copie resolv.conf" cp /etc/resolv.conf.dhcp /etc/resolv.conf else echo "resolv.conf.dhcp not found" exit 1 fi # Services systemctl stop bind9 systemctl stop isc-dhcp-server } # Demande de Configuration while true; do read -p "Voulez vous passer en DHCP externe ou en DHCP local? (e:externe l:local) " el case $el in [Ee]* ) ext; break;; [Ll]* ) loc; break;; * ) echo "Please answer yes or no.";; esac done
  • 1.6 official release ?

    1
    1 Votes
    1 Posts
    1k Views
    No one has replied
  • Updating Fog without knowing how I installed it?

    4
    0 Votes
    4 Posts
    2k Views
    Bristow 0B

    Finally, I did my update.

    The problem was that I was running Debian Buster, so I first had to upgrade to Debian Bullseye so that the installer could install the new packages.

    Then, I made a copy of the fogproject/ folder, deleted the folder to initiate a git clone
    Next, I followed the tutorial and restarted the installer, which restored my old settings. The web interface is working, so I assume my clones will work as well.
    Thank you.

  • Unable to install CA certificate

    3
    0 Votes
    3 Posts
    2k Views
    raulR

    @Hojjati I’ve found a solution for this issue that worked for me.
    You need to manually edit the Windows hosts file at C:\Windows\System32\drivers\etc\hosts and add an entry with your FOG server’s IP address followed by the name “fogserver”.

    This is necessary because SmartInstaller.exe performs a pinning process during installation, if you notice the installer hangs or fails exactly at that pinning stage, it is definitely due to this resolution issue.

    Adding the entry ensures the installer recognizes the server and can download the certificate properly.

  • FOG Install in Docker

    3
    0 Votes
    3 Posts
    4k Views
    8

    I’m going around replying to all these old Docker request threads so people can try out my work. Check out my thread here:

    https://forums.fogproject.org/topic/18000/unofficial-docker-image-beta

    and provide feedback in the comments.

    the actual github repo is here:

    https://github.com/88fingerslukee/fog-docker

81

Online

12.8k

Users

17.6k

Topics

157.1k

Posts