On the execution client machine, edit your eth1.service unit file.
Copy sudo nano /etc/systemd/system/eth1.service
Add the following flag to allow remote incoming http and or websocket api requests on the ExecStart
line.
Geth OpenEthereum (Parity) Besu Nethermind
Copy --http.addr 0.0.0.0 --ws.addr 0.0.0.0
# Example
# ExecStart = /usr/bin/geth --http.addr 0.0.0.0 --ws.addr 0.0.0.0 --http --ws
Copy --jsonrpc-interface = all --ws-interface = all
# Example
# ExecStart = <home directory>/openethereum/openethereum --jsonrpc-interface=all --ws-interface=all
Copy --rpc-http-host = 0.0.0.0 --rpc-ws-enabled --rpc-ws-host=0.0.0.0
# Example
# ExecStart = <home directory>/besu/bin/besu --rpc-http-host=0.0.0.0 --rpc-ws-enabled --rpc-ws-host=0.0.0.0 --rpc-http-enabled
Copy --JsonRpc.Host 0.0.0.0 --WebSocketsEnabled
# Example
# ExecStart = <home directory>/nethermind/Nethermind.Runner --JsonRpc.Host 0.0.0.0 --WebSocketsEnabled --JsonRpc.Enabled true
Reload the new unit file and restart the execution client.
Copy sudo systemctl daemon-reload
sudo systemctl restart eth1
On the separate machine hosting the beacon-chain, update the beacon-chain unit file with the execution client's IP address.
Lighthouse Nimbus Teku Prysm Lodestar
Copy # edit beacon-chain unit file
nano /etc/systemd/system/beacon-chain.service
# add the --eth1-endpoints parameter
# example
# --eth1-endpoints=http://192.168.10.22
Copy # edit beacon chain unit file
nano /etc/systemd/system/beacon-chain.service
# modify the --web-url parameter
# example
# --web3-url=ws://192.168.10.22
Copy # edit teku.yaml
nano /etc/teku/teku.yaml
# change the eth1-endpoint
# example
# eth1-endpoint: "http://192.168.10.20:8545"
Copy # edit beacon-chain unit file
nano /etc/systemd/system/beacon-chain.service
# add the --http-web3provider parameter
# example
# --http-web3provider=http://192.168.10.20:8545
Copy # edit beacon-chain unit file
nano /etc/systemd/system/beacon-chain.service
# add the --eth1.providerUrl parameter
# example
# --eth1.providerUrl http://192.168.10.20:8545
Reload the updated unit file and restart the beacon-chain.
Copy sudo systemctl daemon-reload
sudo systemctl restart beacon-chain