# Networking

Automate network setup as we have switch between Nat and internal network multiple times or bring a new machine into this network

You might need to put your vm back on internet for some time. THis is how you can do it.

scripts to setup NAT network and internal network on remnux.

1. First set your network adapter to internal then use netplan.&#x20;

Filename: `01-netcfg_internal.yaml`

```yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [10.0.0.3/24]
      gateway4: 10.0.0.1
      dhcp6: yes

```

Scripts: `netplan_internal.sh`

```
cp /home/remnux/scripts/01-netcfg_internal.yaml /etc/netplan/01-netcfg.yaml
netplan apply
```

or

```bash
#!/bin/bash

# Create Netplan configuration file
echo "Creating Netplan configuration file..."
cat <<EOL > /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: [10.0.0.3/24]
      gateway4: 10.0.0.1
      dhcp6: yes
EOL

# Apply Netplan configuration
echo "Applying Netplan configuration..."
netplan apply

echo "Network settings updated successfully."

```

2. Set your network adapter in NAT network then&#x20;

Filename: `01-netcfg_nat.yaml`

```yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes
      dhcp6: yes
```

Scripts: `netplan_nat.sh`

```bash
cp /home/remnux/scripts/01-netcfg_nat.yaml /etc/netplan/01-netcfg.yaml
netplan apply
```

```bash
alias netplannat='sudo /home/remnux/scripts/netplan_nat.sh'
alias netplaninternal='sudo /home/remnux/scripts/netplan_internal.sh'

```

or&#x20;

```bash
#!/bin/bash

# Create Netplan configuration file (Default settings)
echo "Creating Netplan configuration file with default settings..."
cat <<EOL > /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes
      dhcp6: yes
EOL

# Apply Netplan configuration
echo "Applying Netplan configuration..."
netplan apply

echo "Network settings updated successfully."

```

Putting FLareVM back to internet

1. put vm in NAT state
2. change DNS setting from:

```
view network connections > Ethernet > properties > tcp/ip4 
```

3. set to automatically both things.

reverting to internal

1. put vm in internal network as done previosuly.
2. change DNS setting back

<figure><img src="https://1775328623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcqyroGfei3tKtTi25FT7%2Fuploads%2FXozefvb6mhTcUa2cyWrf%2Fimage.png?alt=media&#x26;token=31053feb-d9c4-456c-97eb-48f902d774b8" alt=""><figcaption></figcaption></figure>

Let's automate it

1. set your machien in internal network and then run this bat script and run as administrator

```batch
@echo off
netsh interface ip set address name="Ethernet" static 10.0.0.4 255.255.255.0 10.0.0.3
netsh interface ip set dns name="Ethernet" static 10.0.0.3
```

2. set your machine in nat mode and run this script as administrator

```batch
@echo off
netsh interface ip set address name="Ethernet" dhcp 
netsh interface ip set dns name="Ethernet" dhcp

```

where is "Ethernet" is your  network interface name,  use this command to find your interface

```
netsh interface show interface
```
