This suggestion is deprecated!
Please use Setting up a Raspberry Pi as an access point - the easy way section Setting up an access point with a bridge.
You can use a bridge between the access point and the ethernet interface. I assume you have an interface eth0 from the ethernet port to your internet router and an interface wlan0 from your USB wifi adapter for the access point and you can get into the internet and that there is a DHCP server. To create an access point you need the software package
hostapd. Here is a solution with systemd-networkd. With this we also need a special virtual interface that I call uap0. For reference I use Raspian Stretch Lite 2018-04-18.
hostapd with helper and stop it:
rpi ~$ sudo -Es
rpi ~# apt update
rpi ~# apt full-upgrade
rpi ~# apt install rng-tools hostapd
rpi ~# systemctl stop hostapd
Then configure it with this file and your settings for
rpi ~# cat > /etc/hostapd/hostapd.conf <<EOF
rpi ~# chmod 600 /etc/hostapd/hostapd.conf
/etc/default/hostapd, uncomment and change this:
Disable classic networking and setup systemd-networkd. For more detailed information look at (1), (2). Here only in short.
/etc/resolvconf.conf insert these lines.
# Set to NO to disable resolvconf from running any subscribers. Defaults to YES.
Then setup this:
rpi ~# mkdir -p /var/log/journal
rpi ~# systemd-tmpfiles --create --prefix /var/log/journal
rpi ~# systemctl disable networking
rpi ~# systemctl disable dhcpcd
rpi ~# systemctl enable systemd-networkd
rpi ~# systemctl enable systemd-resolved
rpi ~# ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Create these files for the bridge br0 and interfaces eth0 and uap0:
rpi ~# cat > /etc/systemd/network/02-br0.netdev <<EOF
rpi ~# cat > /etc/systemd/network/04-br0_add-eth0.network <<EOF
rpi ~# cat > /etc/systemd/network/08-br0_add-uap0.network <<EOF
rpi ~# cat > /etc/systemd/network/16-br0_up.network <<EOF
Create the virtual interface uap0 for the access point. We will do it with the hostapd unit but it must be present before hostapd starts, of course. We do it with a drop in file (3) so we do not have to touch the hostapd unit. Open the drop in file with:
rpi ~# systemctl edit hostapd.service
In the empty editor insert these statements, save it and quit the editor:
ExecStartPre=/sbin/iw phy phy0 interface add uap0 type __ap
systemctl cat hostapd.service and/or
systemctl status hostapd.service.
The interface wlan0 is used for a client connection to an access point. But here we do not have a client. So wlan0 is not used and should have state DOWN. Check with
Now your devices connected to the access point are also transparent connected to your internet router. They will get an ip address from the dhcp server (if there is one) and they can get into the internet.
 Howto migrate from networking to systemd-networkd with dynamic failover
 RPI Station+AP with ap0 bridged to eth0
 man systemd.unit